1、继承的定义:
类(子类)可以从另一个类(父类)继承以扩展或定制原始类。
继承一个类会重用该类中的功能。
类只能从一个类继承。
2、代码展示
代码语言:c#复制 static void Main(string[] args)
{
#region 继承
Student student = new Student();
student.Run();
student.Height = 175;
Person person = new Student();
person.Run();
Console.ReadKey();
}
}
父类
class Person
{
public int Height { get; set; }
public void Run()
{
Console.WriteLine("Person can run");
}
}
子类
class Student : Person
{
public new void Run()
{
Console.WriteLine("Student can run");
}
}
#endregion
总结:
1、父类不可以用私有修饰符,默认使用的是internal(超出命名空间的类无法继承此类)
2、new 用在子类中表示,父类中同名的方法被隐藏了
3、父类中的方法被私有修饰符修饰,子类无法继承
02 面向对象之继承中抽象类与抽象方法
1、抽象类与抽象方法
(1)使用 abstract 关键字进行定义
(2)抽象方法必须定义在抽象类中且无方法体
(3)使用 override 关键字进行重写
注意:如果想用 override 直接重写普通父类的普通方法必须用 virtual 将父类方法定义为虚方方法
2、代码展示
代码语言:c#复制 static void Main(string[] args)
{
#region 继承
//Student student = new Student();
//student.Eat();
//student.play();
//Person person = new Student();
//person.Eat();
//person.play();
#endregion
Console.ReadKey();
}
}
#region 继承
abstract class Person
{
public virtual void Eat()
{
Console.WriteLine("Person can eat");
}
public abstract void play();
}
class Student : Person
{
public override void Eat()
{
Console.WriteLine("Student can eat");
}
public override void play()
{
Console.WriteLine("Student can play");
}
}
#endregion