Наследяването в Java език за програмиране
Наследяването в Java език за програмиране. част IX
В Java има ефективен инструмент, наречен - наследство. Това е един много мощен инструмент, без която никой няма цена, никой професионално написана програма. Всеки от вас, които четете тези редове непременно иска да бъде професионален програмист, така че механизмът на наследяване струва да се разгледа по-подробно.
Наследяването - механизъм, който ви позволява да наследи от своя родител в йерархията на всички свои функции на класа. Какво означава клас, като се изправи в йерархията? там е термин в суперкласа и подклас в Java. Например, Siemens има определен клас:
Siemens, за да създадете подклас на класа, трябва да използвате ключовата дума простира:
SiemensM55 клас е подклас на класа Siemens, от своя страна, Siemens клас е суперкласа за SiemensM55 клас. SiemensM55 клас наследява всички членове на неговото суперкласа и Siemens има способността да има достъп до тях при едно условие: всички членове на суперкласа Siemens, която по-късно искате да осъществите достъп трябва да бъдат декларирани с обществеността. Тъй като ние не са дефинирани като цяло не квалификант, и то по подразбиране обществеността ключова дума, а след това подклас SiemensM55, ще имат достъп до всички членове на неговото суперкласа Siemens.
Така например, в горния пример, където ние изчислява площта на дисплея, можете да използвате метода на площ () и променливите w и часа. Не е нужно да се преодолеят променливите и методите на суперкласа Siemens, но можете да добавите повече променливи и методи за SiemensM55 подклас прилага собствените си конкретни стъпки за този подклас.
Създаване на подклас NokiaE93, можете да получите достъп до всички членове на суперкласа Nokia определя като обществено достояние. С помощта на оператора "." (Точка), можете отворен достъп до променливите и методите на суперкласа. Когато се създаде обект от суперкласа, като например Nokia nokiasuper = новата Nokia (), обект на генерирания класа да използвате членове на своя клас, но членовете на подклас на него не са налични.
С други думи, подклас се простира на суперкласа, добавяне на нови членове в подклас, като по този начин самата настройка в рамките на новата, която е необходима само за подклас на членовете на групата, като си запазва използването на членовете на суперкласа.
Суперкласа има право на неограничен брой подкласове, например, в горния пример, можете да създадете една дузина или два подкласа: NokiaE95, NokiaN80, Nokian-Gage, и така нататък. Но всеки подклас може да има само един суперкласа. Множествено наследяване в Java, не са предвидени. Но всеки от подкласовете да имат свой собствен подклас, а това наследство верига може да продължи до интелигентната безкрайност.
В този пример, за да се създаде суперкласа и подклас Nokia умишлено използва конструктор по подразбиране. Ситуацията с суперкласа строителя изисква специално внимание.
Когато програмата се извиква конструктор, обаждането се извършва в съответствие с всички йерархията на наследяване. Първият се нарича конструктор на суперкласа първия и падне под всички йерархията на наследяване. Но понякога трябва да се свържете с най-близкия суперкласа конструктор и след това да използвате супер ключова дума. Помислете за един малък пример.
Ако желаете да използвате конструктора близкия суперкласа конструктор подклас първо трябва да отидете на супер ключова дума с параметрите, необходими за строителя на суперкласа. Ключова дума супер има двойно значение и може да се използва не само за да се обадите на строителя на суперкласа. Втората опция с помощта на супер ключова дума, е достъп до невидимата член на суперкласа. Сега ние докосна по т.нар издаването на видимост. Замисляли ли сте се за това какво би станало, ако методите или променливи в суперкласа и подклас ще съответстват на имената?
Факт е, че ако един подклас ще има същите имената на всички членове на класа, тя ще се използва само членове на класа си. Всички данни от суперкласа няма да са достъпни или невидими поради съвпадението на имената. За тези цели може да се използва дума супер. Вижте пример показва как да го използвате:
С помощта на супер Ключовата дума е много подобен на референтен клас обект на методи и променливи. Когато имате нужда, за да получите достъп до членовете на суперкласа, които имат едно и също име, използвайте супер ключова дума или направя още по-лесно просто да различни имена за членове на суперкласа и подкласа.
В Java, има и друга дума, извършете подобни действия. С тази ключова дума, можете да се обадите всеки друг конструктор на същия клас или да се използва за да се осигури връзка с параметър, който не е в конструктора на класа.
Обобщавайки темата за наследството е необходимо да се посочва класа на обекта. В Java, всички класове са наследени от голям суперкласа обект. Това става автоматично и се притеснява за изричното наследство с помощта на ключовата дума се простира не е необходимо.