Спадчыннасць

У гэтым прыкладзе клас шарыкавая ручка атрымлівае ўсе даступныя атрыбуты класа ручка па спадчыне

Так мы разгледзім для гэтага адзін раз у схеме класаў Unified Modelling Language (UML).

Аахен, Берлін, Дортмунд, Эсэн, Франкфурт-На-Майне, Гамбург, Гановер, Стамбул, Ена, Карлсруэ, Кёльн, Мюнхен, Нюрнберг, Штральзунд, Штутгарт На спадчыну ў Java адрозніваюцца адзін супер і адзін падклас. Супер клас, нават бацькі або базавы клас называецца, як правіла, вынік агульнай Атрыбутаў і метадаў розных, але аналагічных аб'ектаў.

Якія падкласа, нават дзіця пазначае клас, атрымлівае ад сваёй супер клас усе атрыбуты і метады ўспадкоўваюцца.

Акрамя таго, падклас пашырае ўласныя атрыбуты і метады. Казаць тут аб спецыялізацыі падклас суперкласса. Такое спадчыну ў Java ажыццяўляецца праз знешні ключавое слова. Разгледзім для гэтага спачатку агульную форму. Мадыфікатар можа прымаць значэння як разрэкламаваных, Рэферат або іншыя мадыфікатары Доступу. Што тут пазначае падклас клас, які атрымлівае што-то па спадчыне. Затым ключавое слова extends, які выклікае спадчыну суперкласса чынам. Супер клас пакажа, які клас будзе нешта успадкаванае. Класы, абвешчаныя з дапамогай ключавога слова final, не могуць быць выведзеныя даччыных класаў. Супер клас не ведае іх Subklassen Адзін Супер клас, які не быў цалкам рэалізаваны, пазначаецца з дапамогай ключавога слова abstract. З класаў, якія абазначаюцца абстрактныя, аднак могуць быць зроблены ніякія аб'екты. Subklassen, якія атрымліваюць ад абстрактнага суперкласса іх атрыбуты і метады ўспадкоўваюцца, якія неабходна рэалізаваць реферат з пазначанымі метадамі. Калі гэтага не адбываецца, то падклас прымус звычайна таксама реферат вызначыць. Хто набірае як падклас усе атрыбуты і метады, якія знаходзяцца ў суперкласса з дапамогай ключавога слова public, protected або не выпадкова, па спадчыне. Усе атрыбуты і метады суперкласса, якая перадаецца з дапамогай ключавога слова. Успадкаваныя метады суперкласса могуць быць перагружаны ў падклас або нават замяніць (перазапісаць). Пры Пераазначэнне метадаў таксама мадыфікатар Бачнасці можа быць зменены, але толькі зусім ні з кім мадыфікатар protected або public або protected ў public. Тут дзейнічае правіла: атрыбут або метад не 'можа быць прыватны' у якасці суперкласса. У падклас таксама відавочна суперкласса могуць быць выкліканыя, для гэтага ёсць ключавое слова super. У вобразе стрэлы Subklassen паказаць на суперкласса. Гэта яшчэ раз падкрэслівае, што супер ведае свой клас Subklassen, але толькі дзіця класаў, іх бацькоў клас. Такім чынам, прывядзенне бяспечна, то ёсць аператар. З дапамогай дадзенага Аператара можна вызначыць, якога класа аб'ект быў створаны. Аператар вяртае толькі true або false, так як ён толькі правярае, ці з'яўляецца аб'ект класа створаны.

Для нагляднасці разгледзім яшчэ адзін прыклад.

Калі ласка, спачатку прадумайце свой адказ, а затым растворыце вынік. Гэты прыклад служыць толькі для ілюстрацыі апісанага вышэй прадмета. З пункту гледжання распрацоўніка праграмнага забеспячэння гэта спадчыннасць хутчэй робіць менш сэнсу. Можна было б зрабіць там хутчэй клас чалавек і дзед, бацька і сын былі б аб'екты класа Person.