객체 지향 프로그래밍에서, 세 종류의 특징은 캡슐화, 상속, 다형성. 상기 다중 상태의 세 가지 방법에 따라 특정, 즉 가상 메소드 , 추상 클래스 및 인터페이스.
다형성의 구체적인 역할은 무엇입니까? 또는 다형성은 무엇인가 존재? 다형성 효과적으로 사용뿐만 아니라 우리가 공통적으로 가지고있는, 또한 필요한 경우 일부 특수 문자를 강조 표시 할 수 있습니다 때, 커플 링 절차를 줄일 존재.
그렇다면 세 다형성 방법으로 그것을 위에서 설명한 달성합니까?
나 오늘에 대해 얘기하자 가상 방법 :
첫째, 우리는 인간의 기본 클래스를 정의합니다. 어떤 사람의 이름과 국적이 포함되어 있습니다.
클래스 는 Person { 공공 문자열 이름; 공공 문자열 나라, 공공 무효가 제 (소개) {
Console.WriteLine ( " 내 이름은 " + 이름);
Console.WriteLine (+ 나라 "I에서 온"); } }
그런 다음 우리는 클래스를 추가 할 수 있습니다.
클래스 People1 : 사람
{
}
이 시점에서 우리는 객체 참조 할당을 작성했다
CH = People1 새로운 새로운 People1 (); ch.Name = " 밥 " , ch.Country = " 중국어 " , ch.Introudce (); 결과는 : 내 이름은 밥이다 나는 중국에서 온
모두가 중국인 경우,이 메소드는 능력이 충분하지만 외국이 아닌 중국어에서 같은 사람이 왜 거기에,이 방법은 입의 비트를 소개합니다. 그가 그것을 거부하기 때문에 합리적인가, 특별한 경우, 우리는 그에게 특별한 넣을 수 없습니다. 이 다형성에서 눈에 띄는 소리 쳤다 : "내 머리 볼륨이 나를 보자!"
가상 메소드 : 가산 전의 클래스 선언에있어서 가상 개질제, 그것은 가상이 아닌 반면, 가상 메소드 호출된다. 그리고 사용하여 가상 후 수정을 할 수 없습니다 다음이 정적, 추상, 또는 재정의 수정을. 이 가상 방법으로, 우리는 아주 쉽게이 특별한 경우를 해결할 수 있습니다.
첫째, 우리는, 기본 클래스의 표현 방법을 수정 비어하자, 그리고 (A 추가 뜻 가상의 방법이 될 필요가 수정 가상을 )
클래스 는 Person { 공공 문자열 이름; 공공 문자열 나라, 공공 가상 무효 Introudce ()이 메소드는 가상 메서드가되도록하는 수정 가상 프리젠 테이션을 추가 // { Console.WriteLine는 ( " 내 이름은 " + 이름); Console.WriteLine ( " I에서 온 " + ) 국가; } }
그리고 우리는이 비 사회적인 예외가 와서 추가 할 것입니다, 특히, 그의 독특한를 변경하는 방법, 우리는 전화를 재 작성 ( 오버라이드 ) .
클래스 People2 { 공공 재정의 무효가 (소개) { Console.WriteLine는 ( " 내 이름은 " + 이름); Console.WriteLine ( " 나는에서 왔어요 " + 국가); } }
다음으로 우리는 단지 코끼리를 냉장고에 넣을 필요가있다. , 할당 참조 객체를 생성
People2 읍는 = 새로운 People2을 (); Eup.Name = " 잭 " ; Eup.Country = " 미국 " ; Eup.Introudce은 (); 运行结果: 내 이름은 이다 잭 I ' 미국에서 m
대규모의 변경을 필요로하지 않습니다, 필요에 따라 수정, 시간의 수정을 필요로하지 않는 원래의 방법을 사용할 수 있습니다, 이것은 가상 방법의 장점이다.
, 운이 충분히 노인 볼 수 오류가있는 경우 이러한 노인도 날, 감사의 감사를 알려 할 수 있도록하려면, 내 작은 소견의 일부입니다! ! !