Пример A-22. Объектно ориентированная база данных

Пример A-22. Объектно ориентированная база данных

#!/bin/bash

# obj-oriented.sh: Объектно ориентрованный подход к программированию в сценариях.

# Автор: Stephane Chazelas.

person.new() # Очень похоже на объявление класса в C++.

{

local obj_name=$1 name=$2 firstname=$3 birthdate=$4

eval "$obj_name.set_name() {

eval "$obj_name.get_name() {

echo $1

}"

}"

eval "$obj_name.set_firstname() {

eval "$obj_name.get_firstname() {

echo $1

}"

}"

eval "$obj_name.set_birthdate() {

eval "$obj_name.get_birthdate() {

echo $1

}"

eval "$obj_name.show_birthdate() {

echo $(date -d "1/1/1970 0:0:$1 GMT")

}"

eval "$obj_name.get_age() {

echo $(( ($(date +%s) - $1) / 3600 / 24 / 365 ))

}"

}"

$obj_name.set_name $name

$obj_name.set_firstname $firstname

$obj_name.set_birthdate $birthdate

}

echo

person.new self Bozeman Bozo 101272413

# Создается экземпляр класса "person.new" (фактически -- вызов функции с аргументами).

self.get_firstname # Bozo

self.get_name # Bozeman

self.get_age # 28

self.get_birthdate # 101272413

self.show_birthdate # Sat Mar 17 20:13:33 MST 1973

echo

# typeset -f

# чтобы просмотреть перечень созданных функций.

exit 0

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

База данных MySQL

Из книги автора

База данных MySQL mysql_connectУстанавливает сетевое соединение с базой данных MySQL.Синтаксис:int mysql_connect([string $hostname[:port][:/path/to/socket][, [,string $username [,string $password]]])Функция mysql_connect() устанавливает сетевое соединение с базой данных MySQL, расположенной на хосте $hostname, и возвращает идентификатор


База данных без имени

Из книги автора

База данных без имени Много лет назад мы решили интегрировать мощную реляционную базу данных в каждую System/38. Затем эта идея перекочевала и в AS/400. Мы считали, что способность полнофункциональной системы управления базой данных (СУБД) эффективно и надежно обрабатывать


Двуликая база данных

Из книги автора

Двуликая база данных Говоря о базе данных, мы имеем в виду не просто некоторое место для размещения данных. Мы говорим о системе управления базой данных. СУБД — среда для хранения и выборки данных, включающая определения данных, правила обеспечения их целостности и


Как функционирует база данных

Из книги автора

Как функционирует база данных В этом разделе мы рассмотрим различные компоненты базы данных AS/400. Я не ставил здесь перед собой задачу проинструктировать Вас, как использовать эту базу данных. Уже есть целый ряд хороших книг, посвященных внешним аспектам базы данных и


20.2.1 Логическая база данных

Из книги автора

20.2.1 Логическая база данных В SNMP используется модель базы данных. Каждая сетевая система содержит информацию о конфигурации, текущем состоянии, ошибках и производительности. К этой информации может получить доступ сетевой администратор. Она рассматривается как


Тестовая база данных

Из книги автора

Тестовая база данных Для тестирования использовался Firebird 1.0 и база данных employee.gdb, входящая в дистрибутив этого сервера баз данных. На этом сервере был создан пользователь "gamer" с паролем "vermin"Для сокращения объема кода, проводящего подключение к базе данных, использовался


5.4.2.1. Учебный пример: база данных CDDB/freedb.org

Из книги автора

5.4.2.1. Учебный пример: база данных CDDB/freedb.org Аудио компакт-диски (CD) содержат последовательность музыкальных записей в цифровом формате, который называется CDDA-WAV. Они были разработаны для проигрывания на очень простых бытовых электронных устройствах за несколько лет до


6.1.6. Учебный пример: база данных Terminfo

Из книги автора

6.1.6. Учебный пример: база данных Terminfo База данных terminfo представляет собой набор описаний видеотерминалов. В каждой записи описываются евсаре-последовательности, которые осуществляют различные операции на экране терминала, такие как вставка или удаление строк, удаление


5.4.2.1. Учебный пример: база данных CDDB/freedb.org

Из книги автора

5.4.2.1. Учебный пример: база данных CDDB/freedb.org Аудио компакт-диски (CD) содержат последовательность музыкальных записей в цифровом формате, который называется CDDA-WAV. Они были разработаны для проигрывания на очень простых бытовых электронных устройствах за несколько лет до


6.1.6. Учебный пример: база данных Terminfo

Из книги автора

6.1.6. Учебный пример: база данных Terminfo База данных terminfo представляет собой набор описаний видеотерминалов. В каждой записи описываются escape-последовательности, которые осуществляют различные операции на экране терминала, такие как вставка или удаление строк, удаление


Модель данных <> база данных

Из книги автора

Модель данных <> база данных Тот "мир", который был получен в процессе описания и анализа, является черновиком для структур ваших данных. Считается, что логическая модель должна описывать отношения и наборы. Обычная ошибка (и западня, присущая всем инструментам CASE) слепо


База данных безопасности

Из книги автора

База данных безопасности Когда пользователь соединяется с базой данных Firebird, его пароль сравнивается с зашифрованным паролем в базе данных безопасности. В версии 1.0.x имя базы данных isc4.gdb, в версии 1.5 - security.fdb. Это обычная база данных Firebird, таблица, используемая для