Преглед насљеђивања у Јави

За разлику од других програмских језика као што је Ц, Јава нуди механизам помоћу којег чланови података и методе једне класе наслеђују другу класу. Овај процес је у Јави познат под називом Насљеђивање. Да би се наслиједило од класе, користи се кључна ријеч 'ектендс'. Наслеђивање у Јави дозвољава поновну употребу кода тако да класа треба да напише само јединствене карактеристике, а остатак кода се може проширити из друге класе. Класа која наслеђује од друге класе позната је као подразред или подређена класа, а класа која се наслеђује позната је као надређена класа или преткласа. Синтакса, типови и примена наслеђивања биће размотрени у наредним одељцима.

Врсте наследства на Јави

Наслеђивање означава однос ИС-А који је и иначе познат као однос родитељ-дете. Родитељ и дете су већ наведени у уводном делу.

Пре него што пређемо на типове наследства у јави, прво да видимо синтаксу наследства.

Синтакса:

class apple extends fruit
(
//methods and fields
)

Овде је јабука подразред, а воће родитељска класа. То значи да јабука има одређена јединствена својства, а има и својства воћа.

У Јави постоје 4 различите врсте наследства.

  • Једно наслеђивање
  • Наслеђивање на више нивоа
  • Хијерархијско наслеђивање
  • Вишеструко наслеђивање (уз помоћ интерфејса)

Сада ћемо да видимо сваки од њих детаљно.

1. Појединачно наслеђивање

Класа која се протеже само на једну класу. У следећем примеру, јабука класе проширује воће класе.

тј. Фруит је суперкласа, а Аппле је поткласа која проширује својства и понашање Фруит класе.

Следи демонстрација јединственог наследства на Јави.

Шифра:

//Java program to demonstrate Single Inheritance
//parent class
class fruit (
public void taste()
(
System.out.println("Fruits are sweet");
)
)
//child class of fruit
class apple extends fruit
(
public void shape()
(
System.out.println("Apple is round");
)
)
public class InheritanceExample
(
public static void main(String() args) (
apple fr = new apple(); //object of child class
fr.taste(); //call method of parent class
fr.shape(); //call method of child class
)
)

Излаз:

2. Наслеђивање на више нивоа

У овом типу наследства класа ће се проширити из друге класе, а изведена класа делује као основна класа за неку другу класу.

На пример, на слици је класа четвороточкаша родитељска класа, а аутомобил је изведена класа четвороточкаша. У исто време, класа аутомобила може бити основна класа за класу Марути.

Шифра:

//Java program to demonstrate Multiple Inheritance
//parent class
class fourwheeler (
public void wheels()
(
System.out.println("I have 4 wheels");
)
)
//child class of fourwheeler and parent of maruti
class car extends fourwheeler
(
public void type()
(
System.out.println("I'm a car");
)
)
//child class of car class
class maruti extends car
(
public void comp()
(
System.out.println("I'm maruti");
)
)
public class InheritanceExample
(
public static void main(String() args) (
maruti fr = new maruti(); //object of child class
fr.wheels();
fr.type();
fr.comp();
)
)

Излаз:

3. Хијерархијско наслеђивање

У хијерархијском наслеђивању, основна класа има више од једне дечије класе, што значи да својства класе стјечу различите класе.

На пример, возило класе има подкласе аутомобила, бицикала, скутера.

Шифра:

//Java program to demonstrate Hierarchical Inheritance
//parent class
class vehicle (
public void wheels()
(
System.out.println("I have wheels");
)
)
//first child class of vehicle class
class bike extends vehicle
(
public void countwl()
(
System.out.println("I am a bike and has 2 wheels");
)
)
//second child class of vehicle class
class car extends vehicle
(
public void countwlc()
(
System.out.println("I am a car and has 4 wheels");
)
)
//third child class of vehicle class
class scooter extends vehicle
(
public void countwls()
(
System.out.println("I am a scooter and has 2 wheels");
)
)
public class InheritanceExample
(
public static void main(String() args) (
scooter sc = new scooter(); //object of scooter class
sc.wheels();
sc.countwls();
car c = new car(); //object of car class
c.wheels();
c.countwlc();
bike b= new bike();//object of bike class
b.wheels();
b.countwl();
)
)

Излаз:

4. Вишеструко наслеђивање

Вишеструко наслеђивање у јави је врста наследства у којој класа има више од једне родитељске класе.

На пример, класа Ц стиче својства и класе А и класе Б.

Али у Јави се вишеструко насљеђивање може постићи само употребом интерфејса.

Претпоставимо да се више наслеђивања примењује као и друге врсте наследства, грешка у времену превођења може да се догоди на следећи начин.

Шифра:

//Java program to demonstrate multiple Inheritance
//parent class
class A
(
public void hh()
(
System.out.println("A is working");
)
)
class B
(
public void hh()
(
System.out.println("B is working");
)
)
class C extends A, B
(
//code for class c
)
public class InheritanceExample
(
public static void main(String() args) (
C sc = new C(); //object of C class
C.hh();
)
)

Овде се излаз неће приказати јер садржи грешку у времену компилације.

Важност наслеђивања у Јави

  • Поновна употреба кода: Наслеђивање помаже у смањењу преписивања кода. тј. Код се може поново користити у другим класама, а дечија класа мора само да напише своја јединствена својства. То смањује потрошњу времена и сложеност кода.
  • За прегласавање метода: Метода која је већ присутна у родитељској класи декларира дечија класа, тада је позната и као прегласавање метода.
Напомена: Претпоставимо да, ако класу не треба поново користити, тада се може користити кључна реч коначна.

Синтакса:

final class A
(
. . .
)
Class B extends A
(
. . .
)

У том случају ће се створити грешка која каже „Не могу се наследити од коначног А“.

Закључак

Насљеђивање у Јави је својство помоћу којег друга класа стјече својства и понашање класе како би се осигурала поновна употреба кода. У Јави постоје различите врсте наследства као што су Једно наслеђивање, Наслеђивање на више нивоа, Хијерархијско наследство и Вишеструко наслеђивање на Јави. У овом документу је обрађено неколико важних аспеката наслеђивања.

Препоручени чланци

Ово је водич за наследство на Јави. Овдје разговарамо о важности и различитим врстама насљеђивања у Јави, заједно са синтаксом, примјерима и имплементацијом кода. Такође можете погледати следеће чланке да бисте сазнали више -

  1. ЈСцроллПане на Јави
  2. Сесије у ПХП-у
  3. Сортирање на Јави
  4. Шта је Јава Гарбаге Цоллецтор?
  5. Јава Деплоимент Тоолс
  6. Превладавање у Јави
  7. Наслеђивање у ПХП-у

Категорија: