ПредишенСледващото

За разлика от предишния случай, аргументът конструктор на суперкласа се предава, се определя като стойността на броя на полето. Както и преди, Стойността на полето се показва като се използва метода на суперкласа Showa ().

подклас конструктор също има аргумент. prisvaiva- etsya поле номера на аргумент. дефинирано директно в класа. В същото име САЩ- проучват поле е настроен на един по-малко от аргумента на строителя. За да направите това, обадете се на суперкласа строителя със съответния аргумент. Когато конструктора на подклас също показва съобщение за СОИ стойности на две полета, с препратка към областта, посочена в подклас се извършва от наречена номер. и се хареса на областта, посочена в суперкласа, чрез инструкции super.number. Стойностите на двете области могат да бъдат показани с помощта на метод showB ().

Основният метод на командата на програмата включва създаване промяна инструкция стойност брой поле подклас обект. определено в подклас (инструкция obj.number = 10) и областта команда изходната стойност чрез Showa () и showB (). В резултат на тази програма, ще получите следното:

Създаден суперкласа обект поле 4 създава обект с полета 4 и 5

Обект полета 4 и 10

На същия принцип, както полетата на замяна с еднакви имена се заменят и методи със същия подпис. Въпреки това, с методите на ситуацията е малко по-сложно, тъй като има механизъм, като методи за претоварване. В допълнение към претовари важна концепция е предефинирането на методи.

Изненадан съм принцип си. Вие за правилото, а след това срещу него!

Както вече бе отбелязано, ако подклас описан метод с подпис, който отговаря на метода на подпис наследена от суперкласа, тогава подклас метод има предимство на суперкласа метод. С други думи, ако се обадите на съответния метод, тя използва версията, която е описана директно в подклас. В този случай, на стария метод на суперкласа стане достъпна, ако за него да се прилага по отношение на формата на линкове, използвайки супер ключова дума.

Между преформулиране и претоварване методи, има съществена разлика. Когато претоварване методи имат едно и също име, но с различни подписи. Когато отменено съвпадат не само имена на методи, но

В резултат на програмата получи поредица от съобщения:

Обект №1 създаден! №2 обект е създаден! Обект №1:

Поле номер: 10 на обекта №2: поле номер: -20 символ поле: съоръжение за №2: нива брой символ 100 поле: съоръжение за №2: поле номер: символ 0 поле: Z

Нека да анализираме кода и в резултат на неговото прилагане. Програмата описва класа Класа (суперкласа), въз основа на което създава подклас на ClassB. Класа клас има номер на поле число. статичен брой поле число (инициализира стойност нула) и затворено поле число код. В допълнение, описан клас конструктора с един аргумент (стойност на броя на полето), комплектът метод () с един аргумент за определяне на стойността на броя на полето. и метод шоуто (), за да покаже броя на стойността на полето.

Статично брой поле е предназначен за отчитане на броя на създадените обекти. При създаване на редовен клас обект този брояч се увеличава. За да направите това в клас Класа конструктор поставен брой екип ++. Освен това на дизайнера с помощта на набор () метод е настроен на полето за номер на (аргументът на строителя се предава като аргумент на метода) и кода на командния = брой е настроен на затворена област код. В кода е писано на серийния номер, чрез който се създава съответния обект. не е подходящ в полето за брой за тази цел, тъй като е статична и се променя всеки път, когато създавате нов обект. В код записан брояч, стойността на обекта, след като и след това кода на полето на обекта не се променя.

Особени методи последователно

Невярно код (след определянето на стойност на областта) се използва в конструктора за да видите съобщението за създаване на обекти със съответния номер. Референтен (област код) се използва също и в метод шоуто (). направи по-лесно да се проследи, за които тя е обект показва информация на за стойността на броя на полето.

Подклас на ClassB е създаден на базата на суперкласа Класа. В подклас на ClassB наследява статиката брой поле и поле номер. Затворен код на полето не се предава по наследство. В допълнение към тези наследени полета директно в класа ClassB описано поле характер символ. Конструкторът отнема два аргумента: първият тип INT за областта и вторият брой за символ знак за типово област.

ClassB конструктор код се състои от само две команди: обадите на строителя на суперкласа команда супер (н) и за присвояване на характер поле команда стойност символ = S (п и S - аргументи на конструктора). С втория отбор всичко просто и ясно. От интерес е командата се обадите на строителя на суперкласа. Първо, този конструктор получен поле номер е настроен. На второ място, стойността на наследил статичен брой поле се увеличава. Това означава, че е общо осчетоводяване на всички съоръжения, като супер класа и подкласа. На трето място, въпреки че кодът на полето не се предава по наследство, то се разпределя от пространство и паметта, за да се впише и серийния номер на създадения обект. Се появява на екрана, за да създадете нов обект, номер на обект се чете от "несъществуващи" поле код.

шоу () метод в отменя клас ClassB. Подписът на класа, описана в метод ClassB шоу () съвпада с метод подпис показват (). описан в класа Класа. Ако метод клас Класа шоу () показва информация за броя на обектите и ценности на своето поле номер. в клас ClassB показват () метод показва стойността на символа е също областта. В подтиснатия метод шоуто () се извиква като предишния (оригинал) версия на метод в класа Класа. За този тип обучение се използва super.show (). Този първоначален вариант на метода, наред с други неща, чете от (но всъщност съществуващи) код на полето серийния номер на обекта не са наследили и я показва в съобщението на екрана.

набор () метод в ClassB класа претоварени. Въпреки Класа класа имат метод със същото име, методи подпис в суперкласа и подклас различни. Суперкласа в комплекта () метод на един числов аргумент, тъй като в подклас на този метод има два аргумента: числова и символични. Ето защо, в класа ClassB има два варианта на снимачната площадка () метод - с един или два аргумента. Първият е наследен от суперкласа Класа. а вторият определя директно в подклас

Основният метод на програмата команди Класа objA = нов Класа (10) и ClassB objB = нов ClassB (-20, "а") са два обекта: objA възражение суперкласа и подклас обект objB. В резултат на тези команди се появи на обекта на екрана съобщение №1 създаден! и обектно №2 създаден! - съобщения са дизайнери. Проверете стойността на полетата, създадени обекти екипи objA.show () и objB.show (). Тъй като метод шоуто () е претоварен, първия случай

Свързани статии

Подкрепете проекта - споделете линка, благодаря!