집 >백엔드 개발 >C#.Net 튜토리얼 >C# 클래스의 상속을 간략하게 소개하는 샘플 코드
이 글에서는 주로 C# 클래스의 상속에 관련된 지식을 소개합니다. 참조값이 매우 좋습니다.
상속
클래스는 다른 클래스로부터 상속받을 수 있습니다. C#에서는 클래스 간에 단일 상속만 있습니다. 즉, 클래스에는 직접 기본 클래스가 하나만 있을 수 있습니다. 클래스 간에 상속이 구현되면 하위 클래스는 정적 생성자 및 클래스의 인스턴스 생성자 메서드와 소멸자 메서드. 그러나 기본 클래스의 모든 멤버를 하위 클래스의 멤버로 사용할 수 있더라도 기본 클래스의 멤버마다 액세스 권한이 다르면 파생 클래스가 액세스할 수 있는 멤버도 달라집니다. C#의 상속은 전이적입니다. 클래스 C가 클래스 B에서 파생되고 클래스 B가 클래스 A에서 파생되면 클래스 C는 클래스 B의 모든 멤버를 상속하고 클래스 A의 모든 멤버도 상속합니다(각 기본 클래스의 정적 생성자, 인스턴스 생성 방법 및 소멸자 방법 제외). 하위 클래스(파생 클래스)는 상속을 기반으로 자신의 멤버를 추가할 수 있지만 상위 클래스(기본 클래스)의 상속된 멤버를 제거할 수는 없습니다. 소멸자 메서드의 기능은 클래스의 인스턴스를 파괴하는 것입니다. 다음 기사에서 설명을 요약하겠습니다.
아래 코드 예를 살펴보세요.using System; namespace LycheeTest { public class TV { private int channel = 1; //电视机的频道 private int volume = 20; //电视机的音量 public static string model = "39 英寸液晶"; //型号 /// <summary> /// 具体设置电视机的频道和音量,因为只提供给子类使用 /// 所以用 protected 访问权限关键字修饰 /// </summary> /// <param name="ch">具体设置的频道数</param>/// <param name="vol">具体设置的音量值</param> protected void Set(int ch, int vol) { channel = ch; volume = vol; Console.WriteLine("设置完毕"); } /// <summary> /// 增加频道 /// </summary> public void ChPlus() { channel++; } /// <summary> /// 增加音量 /// </summary> public void VolPlus() { volume++; } /// <summary> /// 将信息显示在电视机屏幕上 /// </summary> public void Show() { Console.WriteLine("电视机型号是:{0}", model); Console.WriteLine("频道:{0}", channel); Console.WriteLine("音量:{0}", volume); } } public class NewTV: TV { public void PlayUDisk() { this.Set(0, 30); this.Show(); Console.WriteLine("现在开始播放 U 盘的视频文件......"); } } class Program { static void Main(string[] args) { NewTV myNewTV = new NewTV(); myNewTV.ChPlus(); myNewTV.VolPlus(); myNewTV.Show(); myNewTV.PlayUDisk(); Console.ReadKey(); } } }위 코드에서 세 번째 코드 줄은 기본 클래스 TV를 정의합니다. 정적 필드와 인스턴스 필드에는 필드를 초기화하는 초기화 프로그램이 있습니다. 11행에서는 보호된 액세스 수정자를 사용하여 인스턴스 메서드를 추가합니다. 이 수정자를 사용하면 이 클래스의 정의 내와 파생 클래스 내에서만 액세스할 수 있습니다. 이 액세스 수정자를 사용하는 이유는 무엇입니까? 이 메소드는 클래스의 외부 사용을 위한 것이 아니기 때문입니다. 즉, 사용자에게 노출될 필요가 없습니다. 그러나 상속된 클래스는 이를 사용해야 하므로 이 액세스 권한 키워드를 사용하면 어느 정도의 공개, 즉 상속된 클래스에만 공개되는 직접 공개를 보장할 수 있습니다. 이 방법의 목적은 인스턴스 필드의 값을 구체적으로 설정하는 것입니다. USB 플래시 드라이브의 콘텐츠를 시뮬레이션할 때 인스턴스 필드가 TV의 채널 및 볼륨에 대한 특정 값을 갖도록 합니다. 이 외에도 기본 클래스의 의 실행 결과는 다음과 같습니다.
电视机型号是:39 英寸液晶 频道:2 音量:21 设置完毕 电视机型号是:39 英寸液晶 频道:0 音量:30 现在开始播放 U 盘的视频文件......
위 내용은 C# 클래스의 상속을 간략하게 소개하는 샘플 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!