Skip to main content

Класове и Обекти - Сърцето на ООП

Класове, Наследяване, и Обекти в Java 🏗️

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

Класове 📐

Класът в Java е шаблон или чертеж, който определя формата и поведението на обектите (инстанциите).

Какво Съдържа Един Клас?

  • Полета (Fields): Променливите, които държат състоянието на обектите.
  • Методи (Methods): Блокове код, които определят поведението на обектите.
  • Конструктори (Constructors): Специални методи, които се извикват при създаване на нов обект.

Дефиниция на Клас

public class Person {
private String name;
private int age;

// Конструктор
public Person(String name, int age) {
this.name = name;
this.age = age;
}

// Метод
public void introduce() {
System.out.println("Hi, my name is " + this.name);
}
}

Наследяване: Йерархия на Класове 👨‍👦

Наследяването е механизъм, чрез който един клас (наречен подклас) може да наследи полета и методи от друг клас (наречен суперклас).

Основи на Наследяването

  • Подкласът наследява всички public и protected членове на суперкласа.
  • В Java, клас може да наследява само един суперклас (единично наследяване).

Пример за Наследяване

public class Worker extends Person {
private String jobTitle;

public Worker(String name, int age, String jobTitle) {
super(name, age);
this.jobTitle = jobTitle;
}

public void work() {
System.out.println("Working as a " + this.jobTitle);
}
}

Създаване и Използване на Обекти 🛠️

Обектите са конкретни инстанции на класове, създадени и инициализирани с new ключовата дума и конструктора на класа.

Инициализиране на Обект

Person person = new Person("John", 30);

Извикване на Метод на Обект

person.introduce();

Интересни Факти и Съвети

  • В Java, всички класове наследяват класа Object по подразбиране, който е върхът на класовата йерархия.
  • Използването на super е важно при наследяване, тъй като това позволява на подкласа да достъпва конструкторите и методите на своя суперклас.
  • Наследяването подобрява кода за повторна употреба и води до йерархична организация на класовете.