상속은 객체지향 프로그래밍에서 가장 중요한 개념 중 하나입니다. 상속을 사용하면 한 클래스를 기반으로 클래스를 정의하여 다른 클래스를 정의할 수 있습니다. 클래스가 다른 클래스에서 파생되면 파생 클래스는 기본 클래스의 특성을 상속받습니다.
상속 개념은 다음과 같이 구현됩니다. (IS-A) 관계. 예를 들어, 포유류는 (IS-A) 동물이고 개는 (IS-A) 포유류이므로 개는 (IS-A) 동물입니다.
기본 클래스 및 파생 클래스:
C#에서 파생 클래스는 직접 기본 클래스에서 멤버, 메서드, 속성, 필드, 이벤트, 인덱스 표시기를 상속하지만 생성자와 소멸자 함수는 제외합니다.
아래에 예시를 작성해 보세요.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Anlimal //定义一个基类 { protected int foot = 4; protected double weight = 22.4; protected void say(string type, string call) { Console.WriteLine("类别:{0},叫声:{1} ",type,call); } } //Dog 继承Anlimal class Dog:Anlimal { static void Main(string[] args) { Dog dog = new Dog(); int foot = dog.foot; double weight = dog.weight; Console.WriteLine("dog foot: {0}\ndog weight:{1}",foot,weight); dog.say("狗", "汪汪"); } } }
결과
다중 상속:
C#은 다중 상속을 지원하지 않습니다. 그러나 인터페이스를 사용하여 다중 상속을 구현할 수 있습니다. 위의 예에서는 smallanlimal 인터페이스
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Anlimal //定义一个基类 { protected int foot = 4; protected double weight = 22.4; protected void say(string type, string call) { Console.WriteLine("类别:{0},叫声:{1} ",type,call); } } public interface smallanlimal //添加一个接口 接口只声明方法在子类中实现 { protected void hight(double hight); } //Dog 继承Anlimal class Dog:Anlimal,smallanlimal { public void hight(double hight) //实现接口 { Console.WriteLine("Hight: {0}",hight); } static void Main(string[] args) { Dog dog = new Dog(); int foot = dog.foot; double weight = dog.weight; dog.hight(23.23); Console.WriteLine("dog foot: {0}\ndog weight:{1}",foot,weight); dog.say("狗", "汪汪"); } } }
를 추가했습니다. 위는 C# 학습 일기 22---다중 상속에 대한 내용입니다. PHP 중국어 넷(www.php.cn)에 주목하세요!