> Java > java지도 시간 > 본문

Java의 하이브리드 상속

王林
풀어 주다: 2024-08-30 15:26:24
원래의
1002명이 탐색했습니다.

상속은 한 클래스의 함수와 멤버를 다른 클래스에서 상속하고 사용할 수 있는 JAVA 언어의 속성입니다. 이는 깨끗한 코드의 사용과 재사용성을 높이는 데 도움이 됩니다. JAVA는 다양한 종류의 상속을 제공하지만 다중 상속을 제공합니다. 이러한 단점을 극복하기 위해 JAVA는 인터페이스의 도움으로 하이브리드 상속을 사용합니다. 하이브리드 상속은 다양한 유형의 상속(구체적으로 단일 및 다중 수준 상속)의 조합입니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

Java에서 하이브리드 상속은 어떻게 작동하나요?

예를 들어 'A', 'B', 'C', 'D'라는 이름의 다양한 클래스가 있습니다. 클래스 "A"와 "B"가 클래스 "C"를 확장한다고 가정합니다. 또한 또 다른 클래스인 "D"는 클래스 "A"를 확장합니다. 여기서 클래스 "A"는 자식 클래스 "D"의 부모 클래스이자 부모 클래스 "C"의 자식 클래스이기도 합니다.  이는 아래 다이어그램을 통해 확인할 수 있습니다.

Java의 하이브리드 상속

하이브리드 상속의 구문은 일반 상속과 다르지 않습니다. 여기서 주목해야 할 유일한 추가 사항은 결과를 얻기 위해 동일한 프로그램에서 둘 이상의 상속이 구현된다는 것입니다. 이 기능은 기존 기능 위에 기능을 추가할 수 있어 코더가 처음부터 코드를 작성하는 작업을 줄여준다는 장점이 있습니다.

Java의 하이브리드 상속 예

설명: 아래 코드 조각은 JAVA의 하이브리드 상속 작동을 보여줍니다. 아래에서는 함수 이름이 display()인 코드 4개 클래스가 선언되었습니다. Display() 함수는 void를 반환하지만 내부적으로 println() 함수를 호출하여 출력 화면에 문자열을 인쇄합니다. Println() 함수는 Java 입출력 라이브러리를 사용하여 출력 화면에 문자열을 인쇄하는 JAVA의 표준 함수입니다. 세미콜론으로 캡처된 매개변수로 문자열을 사용합니다.

여기서 메인 클래스는 test4 입니다. 메인 클래스는 메인 함수가 선언된 클래스입니다. 여기서 메인 클래스는 다음과 같이 선언됩니다.

public static void main(String args[])
로그인 후 복사

이 기본 함수는 문자열을 입력 매개변수로 사용하고 void를 반환합니다. 이 함수는 기본적으로 공개 함수이며 프로그램이 실행될 때 호출되는 첫 번째 함수입니다. 메인 함수에는 생성된 메인 클래스 “test4”의 객체가 있습니다. test4 클래스의 객체는 "object"입니다. 이 개체는 함수 표시를 호출하고 있습니다. 따라서 test4의 표시 기능에 있는 문자열이 인쇄됩니다.

여기서 주목해야 할 점은 test4 클래스가 test1 클래스의 속성을 상속한다는 것입니다. Test1은 test3의 속성을 상속받습니다. 테스트 2는 테스트 3의 속성을 상속합니다. 따라서 테스트 3을 상속하는 두 개의 클래스, 즉 테스트 1과 테스트2가 있습니다. 따라서 여기서는 단일 및 계층적 상속과 같은 다양한 유형의 상속을 볼 수 있습니다.  위의 경우는 계층적, 단일 상속의 예입니다.

test1 및 test2 클래스는 test3 클래스를 확장 → 계층적 상속

클래스 test4는 클래스 test1을 확장 → 단일 상속

아래 코드를 사용하여 작업을 이해할 수 있습니다.

코드:

//Class test3 which works as a parent class for other two child classes.
class test3
{
// this function is used to class print function. This function name is used in other class as well but with other string in it. This feature in JAVA is called as function overloading.
public void display()
{
System.out.println("the program control is in class test3");
//JAVA standard function to print the string in the output screen.
}
}
//Here test1 class in extending test3’s function. This is hierarchal inheritance.
class test1 extends test3
{
//JAVA function overloading. Same function name is used again in the other class.
public void display()
{
System.out.println("the program control is in class test1");
}
}
//Here test2 class in extending test3’s function. This is hierarchal inheritance.
class test2 extends test3
{
public void display()
{
System.out.println("the program control is in class test2");
}
}
//This is the main class which is extending test1. Such inheritance is called a single inheritance.
class Main extends test1
{
public void display()
{
System.out.println("The program control is in class test4 and It is an example \n to demonstrate the working of hybrid inheritance in JAVA.");
}
public static void main(String args[]){
//”object” objet is created by instantiating test4 class. His class is then used to call display() function from class test4.
Main object = new Main();
object.display();
}
}
로그인 후 복사

출력:

test4에서는 메인 클래스이므로 java 프로그램은 “test4.java”라는 이름으로 저장해야 합니다.

CMD에서 이 파일이 저장된 경로로 이동해야 합니다. 이번에는 바탕화면에 파일을 저장했습니다. 그런 다음 "JAVAC test4.JAVA"를 입력하여 프로그램을 컴파일합니다. 컴파일되면 데스크톱 이름 "test4.class"에 새 파일이 표시됩니다. JAVA 실행파일입니다. 기본 파일명과 동일한 이름으로 시스템에 저장되지만 지정만 .java에서 .class로 변경됩니다. 그런 다음 “JAVA test4” 명령을 사용하여 파일을 실행하고 출력 결과를 확인할 수 있습니다.

Java의 하이브리드 상속

결론

하이브리드 상속은 두 가지 상속 유형의 기능을 하나로 달성할 수 있는 좋은 방법입니다. JAVA가 제공하는 기능은 코드 재사용을 가능하게 합니다. JAVA는 다중 상속을 지원하지 않지만 이 기능은 상속과 함께 인터페이스의 도움으로 즐길 수 있습니다. 이는 업계 표준에 맞추기 위해 코드 재사용성, 다형성 및 캡슐화와 같은 표준 관행을 코드에 적용하려고 할 때 매우 유용합니다. 이러한 관행을 통해 장기간에 걸쳐 코드를 쉽게 유지 관리할 수 있습니다.

위 내용은 Java의 하이브리드 상속의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!