类与派生类学习感悟
学习是一个过程,就如同C#编程中敲击代码,一行行正确的逻辑性的代码组成你最后想要的结果。当你的过程错了,你将无法生成,自然也就得不到结果,无论是学习还是写代码,都是一样的,再过程里发现错误,改正错误,不断提升自我,当你重视了过程,享受其中带来的乐趣,结果或许不那么重要,不能一味的追求结果,却忽视了过程的重要性。
在C#中可以直接继承一个基类,不可以多重继承,称之为单一继承
一个基类可以派生出多个派生类,而每个派生类也能继续派生新的派生类
例:
创建一个基类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EggGame
{
public abstract class Egg
{
public string EggName {get;set;}
public void Display()
{
Console.WriteLine($"蛋仔的名字是:{EggName}");
}
public abstract void Swim();//游泳方式
public abstract void Fly();//飞行方式
public abstract void Sound();//语音
}
}
创建一个派生类,继承于基类的一些属性,再其中定义一些属性名字
能够不段的添加派生类,加入自己喜欢的角色,添加需要的属性
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EggGame
{
public class RobotEgg : Egg
{
public RobotEgg()
{
EggName = "机械蛋仔";
}
public override void Fly()
{
Console.WriteLine("喷气式引擎");
}
public override void Sound()
{
Console.WriteLine("齿轮吱吱吱");
}
public override void Swim()
{
Console.WriteLine("潜水");
}
}
}
实例化,实例成不同角色的类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EggGame
{
class Program
{
static void Main(string[] args)
{
Egg regg = new RobotEgg();
regg.Display();
regg.Fly();
regg.Swim();
regg.Sound();
Console.WriteLine();
Egg rubberEgg = new RubberEgg();
rubberEgg.Display();
rubberEgg.Fly();
rubberEgg.Swim();
rubberEgg.Sound();
Console.ReadKey();
}
}
}
程序截图