C# 抽象类
来源:互联网 发布:淘宝账号在哪看到 编辑:程序博客网 时间:2024/06/05 15:05
一、抽象类 和 抽象方法 —— abstract
1.用 abstract 修饰的方法叫做抽象方法
2.含有抽象方法的类,也必须是 abstract 修饰的,我们称之为 抽象类
3.使用场景:无了表述抽象的概念,不与具体的事物相联系,只作为派生类的基类使用,通常是用来描述所有子类的共同特征
4.注意:
4.1抽象方法只做声明,而不包含实现,抽象方法需要在继承以后实现,所以必须public
4.2抽象类不可以被直接实例化
4.3抽象类中可以没有抽象方法和抽象属性,但是一旦有了抽象方法,就一定要把该类声明为抽象类
4.4如果抽象类的派生类不是抽象类,那么必须要重写抽象类的所有抽象方法
比如:
// 新建一个Animal类
abstract class Animal
{
// 添加一个抽象方法
public abstract void Eat();
// 可以添加非抽象的方法
public void Play(){
Console.WriteLine ("动物都爱玩");
}
}
// 创建一个抽象类,cat,继承自Animal
abstract class Cat:Animal
{
// 可以不实现抽象方法
}
// 创建一个wolf类,继承自Animal
class Wolf:Animal
{
// 普通类继承自抽象类,必须实现抽象方法
public override void Eat ()
{
Console.WriteLine ("我要吃喜洋洋");
}
}
// 创建一个Dog类,继承自Animal
class Dog:Animal
{
public override void Eat ()
{
Console.WriteLine ("狗吃骨头");
}
// 添加一个虚方法
public virtual void Sleep(){
Console.WriteLine ("睡得比狗晚");
}
}
// 添加一个哈士奇类
class Husky:Dog
{
// 重写虚方法
public override void Sleep ()
{
Console.WriteLine ("起得比鸡早");
}
}
5. 很多像我一样的初学者可能经常搞错 抽象方法和虚方法接下来说一下抽象方法和虚方法的区别
5.1抽象方法必须在抽象类中
5.2抽象方法在父类中不能实现,虚方法可以
5.3抽象方法在非抽象类中必须实现,而虚方法就可以实现也可以不实现
- C#抽象类、抽象方法
- C# 抽象类总结
- C#抽象类
- C#抽象类
- C#抽象类总结
- C# 抽象类
- C#抽象类
- C#抽象类
- C#抽象类
- C#抽象类 abstract
- 有关C#抽象类
- C#抽象类
- C# 接口、抽象类
- C#中的抽象类
- C#抽象类
- C#抽象类
- C#之抽象类
- C# 抽象类
- Oracle数据库连接Eclipse(JDBC六大步骤详解)
- Angularjs------- 定义全局变量的3中方法
- AndroidStudion遇到VM内存不足
- Programming Exercise 2: Logistic Regression Machine Learning
- 蓝桥杯 基础练习 数列排序(4)之快排
- C# 抽象类
- OpenCV的安装与配置
- 个人项目——音乐播放器(一)
- 【Unity&Atlas】NGUI与UGUI打包图集的步骤以及比较
- 基于java语言的单链表
- HDU—校赛—1004
- 如何避免 OOM 异常
- Arcgis Javascript那些事儿(八)--图层获取与图层顺序
- dsoframer.cpp