머리말
Java는 객체 지향 언어입니다. Java를 배운 모든 사람은 캡슐화, 상속 및 다형성이 객체 지향의 세 가지 특성이라는 것을 알고 있습니다. 모든 사람이 방금 상속을 배웠을 때, 상속이 계급 재사용을 실현하는 데 도움이 될 수 있다는 인상을 줄 것입니다. 따라서 많은 개발자들은 코드를 재사용해야 할 때 자연스럽게 클래스 상속을 사용합니다. 왜냐하면 이것은 책이 쓰여진 것이기 때문입니다 (이것은 교사가 가르치는 것입니다). 그러나 실제로이 작업을 수행하는 것은 잘못입니다. 상속을 장기간 대규모 사용하면 코드에 높은 유지 보수 비용이 많이 제공됩니다.
사실, 처음으로 Java를 배웠을 때, 나는 조합이라는 용어에 대해 들어 본 적이 없으며 선생님은 그것을 설명하지 않았습니다. 나는 항상 지식 포인트를 잃어 버렸다고 생각했지만 그렇지 않았습니다. 조합이라는 용어는 당분간 생각으로 정의되어야합니다. 나는 독자들이 그것에 접촉했다고 생각하지만, 그것이이 이름이 있다는 것을 모르겠습니다.
실제로, 소위 조합은 생성되고 디버깅 된 클래스를 호출하는 새로운 클래스를 만드는 것이므로이 새로운 클래스는 조합이라고 할 수 있습니다.
예를 들어, 나는 사람들을 만듭니다
공개 클래스 사람들 {개인 문자열 이름; 사적인 int 연령; public void setName (문자열 이름) {this.name = 이름; } public String getName () {return this.name; } public int getage () {return this.age; } public void 설정 (int Age) {this.age = age; }} 그런 다음 지금이 수업을 사용하고 싶습니다. 이 수업에 몇 가지 새로운 기능을 추가 할 수 있습니다. 현재 우리는 새로운 수업을 만들고이 수업에서 사람들의 대상을 만들 수 있습니다.
예를 들어, 나는 이제 학생이라는 수업을 만들고 있습니다.
클래스 학생 {People People = New People ();} 그런 다음이 클래스에 학생으로 신분을 정의하는 것과 같은 일부 속성을 추가 할 수 있습니다.
다음으로 상속을 살펴 보겠습니다. 실제로 상속과 조합은 비슷합니다. 먼저 상속 된 방법을 살펴 보겠습니다.
Extends in Java라는 키워드가있어 상속받을 수 있습니다. 상속 클래스 부모 클래스, 기본 클래스, 슈퍼 클래스 및 상속자를 모두 괜찮습니다. 상속자 서브 클래스 또는 파생 클래스 등을 호출합니다.
여기서 우리는 클래스를 정의합니다
공개 수업 학생 확장 사람 {// dosomething} 이러한 방식으로 클래스는 부모 클래스의 모든 멤버 메소드 및 멤버 변수를 상속하지만 개인 허가로 선언 된 필드 또는 방법은 상속되지 않습니다.
이것을 증명하기 위해, 우리는 학생 수업에 메소드를 작성합니다.
public String re () {return this.name;}여기서 컴파일러는 "사람. 이름이 보이지 않습니다"오류를보고합니다. 여기에서 비공개로 선언 된 필드 또는 방법은 상속받을 수 없음을 알 수 있습니다. 상속을 원한다면 개인을 보호로 변경할 수 있습니다. 이런 식으로 이름 필드를 부드럽게 상속받을 수 있습니다.
이런 식으로 사람들의 모든 필드를 초기화하고 코드 에이 코드 블록을 추가하십시오.
{this.age = 10; this.name = "Zhangsan";}다음 으로이 학생을 주요 기능으로 선언하십시오
Student Student = New Student (); System.out.println (Student.getage ());
이제 우리는이 글쓰기 방법이 가능하다는 것을 알게되어 놀랐습니다. 서브 클래스에서 필드와 메소드를 선언하지는 않았지만 여전히 getage ()를 호출 할 수 있습니다. 그리고 우리는 10을 부드럽게 인쇄 할 수 있습니다
이는 서브 클래스의 메소드에 과부하가 걸리지 않기 때문에 상위 클래스 getage를 호출하므로 Parent Class Private가 선언 한 필드에 쉽게 액세스 할 수 있습니다.
이것을 읽은 후, 나는 모든 사람이 상속에 대한 예비 이해를 가지고 있다고 생각합니다. 상속 메커니즘에서 각 클래스의 구성 방법은 어떻게 호출됩니까? 답은 부모 수업에서 어린이 수업으로 순서대로 전화하는 것입니다.
시연하는 동안 먼저 3 개의 클래스 Temp1, Temp2 및 Temp3를 선언합니다. 동시에, TEMP3은 Temp2로부터 상속되고, Temp2는 Temp1로부터 상속된다. 이런 식으로, 우리는 각 클래스의 구성 방법에 인쇄 된 진술을했습니다.
//temp1system.out.println("i'm temp1 "); // temp2system.out.println ("I 'm temp2 "); // temp3system.out.println ("I'm temp3 "); 편의를 위해, 나는 이것을 여기에 썼지 만, 모든 사람들은 각 범주의 구성 방법에 배치된다는 사실에주의를 기울여야합니다.
우리는 기본 함수에서 Temp3 객체를 만듭니다
public class mian {public static void main (String [] args) {temp3 temp3 = new temp3 (); }}우리는 콘솔을보고 인쇄했습니다
나는 temp1i'm temp2i'm temp3입니다
이를 통해 먼저 Temp3의 객체를 만들고, 키워드를 찾은 다음, 상속 체인을 따르고, Temp2를 찾은 다음 키워드를 찾은 다음 Temp1을 찾은 다음 Temp1의 생성자를 호출해야한다는 것을 알 수 있습니다.
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용이 귀하의 연구 나 업무에 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다.