Java - разликата между простира до и прилага примерите

След продължително програмиране в C ++, за да се премести в Java е болезнено. От една страна колектор прославения боклук, а от друга страна една голяма част от основните разлики в подхода към програмирането. Днес ще ви разкажа за един такива подробности контраст.

Ние ще говорим за наследяване в Java. За разлика от C ++, където може да се окаже множествено наследяване, тук това не е така. В допълнение, запознат синтаксис чрез ":" се заменя с цели две ключови думи: разширява и оръдия. Ще започна с първата.

Разширява ключова дума в Java

Ключовата дума е точно същото с неговите преводи, един клас се простира друг, това е класическа наследство. Правила полета видимост и практики са запазени: лично са достъпни само в класната стая, защитена в класната стая и във всички наследници на публичните методи и полета могат да бъдат достъпни от всяка точка. Основната разлика от наследството "sishnogo", която може да се разшири само един клас. Аз няма да говоря за това, как е удобно, мога да кажа само, че с множествено наследяване в C ++ постоянно са били създадени някои овесена каша.

Малка пример наследство помощта на ключовата дума разширява. Напиши клас Врата, която ще опише характеристиките на вратата, ние можем да се създаде обект от този клас и да работите с него, тъй като "само една врата." От друга страна два класа пишат: IronDoor и WoodDoor, която ще разшири клас врата (Door == наследена от клас), т.е. добавете техните характеристики към основата.

Осъществява ключова дума в Java

С инструментите дума е свързана с малко повече трикове. Думата "изпълнение", може да се разбира като "продава", но в момента, когато има думата "изпълнение", някъде близо има интерфейси. Така обществени клас врата реализира отваряща дизайн означава, че класът реализира вратата на интерфейс "се отваря". Следователно клас трябва да замени всички методи интерфейс. Главната особеност е, че може да реализира произволен брой интерфейси.

Защо го направи? Най-простият пример, който идва на ум, два интерфейса: отварящи се и Closeble. Първият метод е отворен, толкова близо метод във втория. Те ще ви помогнат научи нашата врата се отваря и затваря.

Вратите на потомък класове (стоманени и дървени врати), също имаше метод за отваряне / затваряне, врати реализира в класната стая. Но никой не можем да ги забранят да се преодолеят.

заключение

Така че, основната разлика е, че се простира се използва, за да наследя от един клас в истинския смисъл на думата, и оръдия Ви дава възможност да "приложи интерфейс." На пръв поглед това изглежда странно, неудобно и объркващо, но си струва няколко пъти, за да се използва по предназначение, и всичко си идва на мястото. В момента имам всичко, благодаря ви за вниманието!