Наследяване в Java

Наследяването е важна характеристика на обектно-ориентираното програмиране в Java. Тя позволява на един клас (детски клас) да наследява полетата и методите на друг клас (родителски клас). Например, може да искаме детски клас Куче да има присъщи черти от по-общ родителски клас Animal .

научете

Когато дефинираме детски клас в Java, използваме ключовата дума extends за наследяване от родителски клас.

Основен () метод в Java

В прости Java програми можете да работите само с един клас и един файл. Тъй като обаче програмите ви стават по-сложни, ще работите с множество класове, всеки от които изисква собствен файл. Само един от тези файлове в пакета Java изисква метод main () и това е файлът, който ще се изпълнява в пакета.

Например, да кажем, че имаме два файла в нашия Java пакет за два различни класа:

  • Shape, родителският клас.
  • Square, детският клас.

Ако Java файлът, съдържащ нашия клас Shape, е единственият с метод main (), това е файлът, който ще се изпълни за нашия Java пакет.

super () в Java

В Java детски клас наследява полетата и методите на родителя си, което означава, че наследява и конструктора на родителя. Понякога може да се наложи да модифицираме конструктора, като в този случай можем да използваме метода super (), който действа като конструктора родител в конструктора на детски клас.

Като алтернатива можем също така да заменим конструктора на родителски клас, като напишем нов конструктор за дъщерния клас.

Защитени и заключителни ключови думи в Java

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

protected поддържа член на родителски клас достъпен за своите дъщерни класове, до файлове в собствения си пакет и от подкласове на този клас в друг пакет.

Добавянето на final преди модификатора за достъп на метод на родителски клас го прави така, че всички дъщерни класове да не могат да променят този метод - той е неизменим.

Полиморфизъм в Java

Java включва обектно-ориентирания принцип на програмиране на полиморфизма.

Полиморфизмът позволява на детски клас да споделя информацията и поведението на своя родителски клас, като същевременно включва собствената си функционалност. Това позволява предимствата на опростения синтаксис и намаленото когнитивно претоварване за разработчиците.

Замяна на метода в Java

В Java можем лесно да заменим методите на родителски клас в детски клас. Заместването на метод е полезно, когато искаме методът ни на детски клас да има същото име като метода на родителски клас, но да се държи малко по-различно.

За да заменим метода на родителски клас в детски клас, трябва да се уверим, че методът на дъщерния клас има следното общо с метода на родителския клас:

  • Име на метода
  • Тип връщане
  • Брой и вид параметри

Освен това трябва да включим ключовата дума @Override над нашия метод на дъщерния клас, за да посочим на компилатора, че искаме да заменим метод в родителския клас.