Java의 상속: 클래스 및 인터페이스

Java의 상속은 객체 지향 개념의 간단하고 강력한 속성으로, 부모 클래스의 속성과 메소드를 딸 클래스로 다시 작성할 수 있으며, 이러한 방식으로 다른 하위 클래스도 딸 클래스에서 상속 할 수 있습니다. Java는 모든 클래스에서 이 속성을 사용합니다.

java에서 상속에 사용되는 키워드는   extends입니다. 다중 상속은 금지되어 있지만 인터페이스에는 허용됩니다.

The Object 클래스

프로그래밍할 때 다음과 같은 모든 곳에서 메서드가 반복되는 것을 알 수 있습니다: toObject(), equals(), wait()... 등. 이는 자바에서 모든 클래스가 수퍼 클래스에서 상속되기 때문입니다. 개체  이는 전체 계층 구조의 루트입니다.

Java의 객체 지향 트리 계층 구조
모든 클래스는 Object

Example

이 예에서는 name 및 address 속성을 가진 person 클래스를 선언했습니다. 두 서브 클래스 모두 Person: 첫 번째 클래스 디렉터와 두 번째 클래스 Employee에서 상속되며, 추가 속성으로 salary를 갖습니다.

< / a>< / div>

< / div>
class 사람 
{
공개 문자열 이름;
공용 문자열 주소;
}
class 직원은 Person
{
int 급여를 확장합니다.
public Employee(문자열 이름, 문자열 주소, int salary)
{
this.name=name;
this.address=주소;
this.salary=급여;
}
}
class Director extends Person
{
public Director()
{
this.name= "name";
this.adresse= "주소";
}
}

note:
딸 클래스는 선언된 멤버를 상속합니다protectedpublicprivate 상위 클래스와 동일한 패키지에있는 경우.

java의 super 키워드

Person 클래스는 이 회사에 여러 기능이 있다는 점을 고려하여 하위 클래스로 상속되도록 확장 할 수 있습니다. 엔지니어, 회계사, 비서... etc.

uml 직원 회계 엔지니어

class 엔지니어는 Employee
{
public Engineer()
{
super("name","address",110);
}

public void concevoir(){System.out.println("저는 엔지니어입니다");}
공개 무효 developper(){};
}

class 회계사 extends Employee
{
public Accountant()
{
this.name= "name";
this.adresse= "주소";
this.salary = 3000;
}

public void manageAccounts(){};
public void gererLesBilans(){};
}
우리는 계층 구조의 형태로 구조를 볼 수 있으며, 이 트리는 프로그램의 구조를 이해하는 데 도움이 됩니다. Engineer와 Employee의 두 클래스의 차이점은 부모 클래스의 생성자를 직접 호출하는 Engineer에서 super 키워드를 사용한다는 것입니다. 기본적으로, super()은 인수 없이 제조업체를 호출하고 슈퍼(P1, P2,...) 인수를 사용하여 생성자를 호출합니다.

super 키워드는 상위 클래스의 메서드를 호출하는 데에도 사용됩니다. 예를 들면 다음과 같습니다.