手机具有内存,处理器,屏幕等相关参数,同时具备拨打电话,播放音乐等通用功能,此外,不同厂家和不同类型的手机还具备一些特性功能,请用c#利用继承,抽象类,接口等面向对象概念实现该应用场景
时间: 2024-06-13 18:08:31 浏览: 78
根据您的需求,可以使用C#中的面向对象概念来实现手机的相关参数和通用功能。具体实现如下:
1. 定义一个抽象类Phone,包含内存、处理器、屏幕等参数,并定义拨打电话、播放音乐等通用功能的抽象方法。
```csharp
public abstract class Phone
{
public int Memory { get; set; }
public string Processor { get; set; }
public string Screen { get; set; }
public abstract void Call();
public abstract void PlayMusic();
}
```
2. 定义一个普通类SmartPhone,继承自Phone类,并实现其抽象方法。同时,SmartPhone类还具备特性功能,如拍照、录像等。
```csharp
public class SmartPhone : Phone
{
public override void Call()
{
Console.WriteLine("拨打电话");
}
public override void PlayMusic()
{
Console.WriteLine("播放音乐");
}
public void TakePhoto()
{
Console.WriteLine("拍照");
}
public void RecordVideo()
{
Console.WriteLine("录像");
}
}
```
3. 定义一个接口IFeature,包含特性功能的抽象方法。
```csharp
public interface IFeature
{
void TakePhoto();
void RecordVideo();
}
```
4. 定义一个普通类IPhone,继承自SmartPhone类,并实现IFeature接口。IPhone类还具备特性功能,如Face ID等。
```csharp
public class IPhone : SmartPhone, IFeature
{
public void FaceID()
{
Console.WriteLine("Face ID");
}
}
```
通过上述实现,我们可以创建一个IPhone对象,并调用其继承自Phone类的通用功能,以及实现的IFeature接口的特性功能。
```csharp
IPhone iPhone = new IPhone();
iPhone.Call(); // 输出:拨打电话
iPhone.TakePhoto(); // 输出:拍照
iPhone.FaceID(); // 输出:Face ID
```
阅读全文