>  기사  >  Java  >  Java의 오버로딩, 상속, 재정의 및 다형성의 차이점

Java의 오버로딩, 상속, 재정의 및 다형성의 차이점

高洛峰
高洛峰원래의
2017-01-19 13:58:031321검색

오버로딩, 상속, 재정의 및 다형성의 차이점:

1) 상속은 하위 클래스가 상위 클래스의 멤버를 얻는 경우입니다.
2) 오버라이딩은 상속 후 상위 클래스를 다시 구현하는 방법입니다.
3) 오버로딩은 클래스에서 서로 다른 매개변수와 동일한 이름을 사용하는 일련의 메서드입니다.
4) 다형성은 상위 클래스에 많은 수의 오버로드가 발생하여 코드가 비대해지고 유지 관리가 어려워지는 것을 방지하기 위한 것입니다.

인터넷에서 본 흥미로운 진술은 다음과 같습니다. 상속은 하위 클래스가 상위 클래스를 사용하는 방법이고, 다형성은 상위 클래스가 하위 클래스를 사용하는 방법입니다.

다음 예에는 다음 네 가지 구현이 포함됩니다.

class Triangle extends Shape {

public int getSides() {
return 3;
}
}

class Rectangle 확장 Shape {
public int getSides(int i) {
return i;
}
}

public class Shape {
public boolean isSharp(){
return true;
}

public int getSides(){
return 0 ;
}
public int getSides(Triangle tri) {
return 3 ;
}
public int getSides(Rectangle Rec){
return 4 ;
}

public static void main(String[] args) {
Triangle tri = new Triangle();
System.out.println(“삼각형은 샤프의 한 종류입니까?” + tri.isSharp());
도형 모양 = new Triangle();
System. out.println(“내 모양에는 ” + shape.getSides() + ”면이 있습니다.”);
}
}

빨간색은 오버로드, 녹색은 덮어쓰기, 파란색은 상속, 분홍색 다형성입니다

Triangle 클래스의 메서드는 재정의되고 Rectangle 클래스의 메서드는 오버로드됩니다.
빨간색 부분과 분홍색 부분을 비교하면 오버로딩에 비해 다형성의 장점을 찾을 수 있습니다. 오버로딩을 사용하는 경우 여러 하위 클래스를 사용하는 경우 각 하위 클래스에 해당하는 상위 클래스의 가장자리 수를 가져오는 메서드를 오버로드해야 합니다. 상태에서 상위 클래스는 모서리 수를 얻기 위한 인터페이스만 제공합니다. 어떤 모양의 모서리 수와 이를 얻는 방법은 각 하위 클래스에서 구현(다시 작성)할 수 있습니다.

Java의 오버로딩, 상속, 재작성 및 다형성의 차이점과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.