Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Наслідування




Доступ до елементів об’ єкту

Об’єкти

Поняття об’єкту і класу досить близькі. Клас вказує на тип предмету. Наприклад, аспірін - це речовина, що належить до класу хіміопрепаратів. З іншої сторони, кожен конкретний аспірин, призначений певному пацієнту - це об" єкт. Він може бути представлень змінною patient_aspirin, описаною, як показане нижче:

Drug patient_aspirin = new Drug();

Створювати об’єкти одного класу можна як завгодно багато разів.

Доступ до елементів об’єкту здійснюється за допомогою операторові крапка (.). Розглянемо наступну функцію:

void Example()

{

Patient currentPtnt = new Patient();

currentPtnt.m_sName = 'Петренко Тарас';

currentPtnt.m_bMale = true;

currentPtnt.m_nAge = 30;

currentPtnt.m_dHeight = 180.5;

currentPtnt.m_dRenalFunctionClearance = 30.0;

currentPtnt.m_Drug = new Drug ();

currentPtnt.m_Drug.m_sTitle = 'Aspirin';

currentPtnt.m_Drug.m_bIntravenousInfusion = false;

currentPtnt.m_Drug.m_dDose = 325.0;

currentPtnt.m_Drug.m_dDosingInterval = 300.0;

double drugConcentration = currentPtnt.m_Drug.AverageDrugConcentration(Clearance());

// у змінній drugConcentration - середня концентрація хіміопрепарату

}

Тут, наприклад, конструкція currentPtnt.m_sName здійснює доступ до елементу m_sName об" єкту currentPtnt, аcurrentPtnt.m_Drug.AverageDrugConcentration(double) викликає метод- функцію класу Drug.

У розумінні об" єктів реального світу, що нас оточують важливою є властивість наслідувати властивості своїх об" єктів - батьків. Наприклад, на запитання "Що таке аспірин "? студент-медик відповість приблизно таке: "Це хіміопрепарат, що застосовується у стоматології для лікування післяопераційного болю, у медицині - для лікування болів і лихоманки; може використовуватися для профілактики інфаркту міокарду та ішемічної хвороби серця; управління ревматоїдним артритом, ревматичної лихоманки, остеоартриту та подагри (висока доза)". Подробиці тут не істотні - важливо ті, що будь-яка відповідь починатиметься із слів "Аспірин - це хіміопрепарат.".

Використання таких абстрактних термінів, як хіміопрепарат (про що піде мова далі) сприяє систематизації інформації.

Систематизація, у свою чергу, допомагає істотньо скоротити кількість інформації, що потрібно запам" ятати. Наприклад, наступна модифікація класу Drug зменшує обсяг інформації, що потрібно зберігати, та робить класи більш гнучкими для розв" язання різноманітних завдань, за допомогою введення наступних підкласів:

public class Drug

{

// далі означуються елементи класу

}

public class Aspirin extends Drug

{

String sBrandName;

//.. решта означень класу

}

public class Abacavir extends Drug

{

String sBrandName;

//.. решта означень класу

}

public class Abciximab extends Drug

{

String sBrandName;

//.. решта означень класу

}

Тобто з кожним конкретним хіміопрепаратом пов" язується власний клас.




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 300; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.