抽象类
来源:互联网 发布:聚宝盆返奖统计软件 编辑:程序博客网 时间:2024/05/22 20:29
1.不能被实例化,只能被继承
2.可以有抽象方法
(非抽象类不能有抽象方法)
3.子类继承抽象类,必须重写抽象类的抽象方法
4.抽象类其他方面和类一样,可以有正常的字段,属性,方法等
abstract class A{ public abstract void move(); public void otherMethod();}class B:A{ public override void move();}
class Program
{
static void Main(string[] args)
{
B b1 = new B();
b1.move();
b1.move2();
b1.move3();
Console.WriteLine();
D d1 = new D(); d1.move3(); d1.move4(); Console.ReadKey(); }}abstract class A //抽象类不能被实例化{ public abstract void move(); public void move2(){ //抽象方法其他方面与正常类相同 Console.WriteLine("父类,move2"); } public abstract void move3();//抽象方法没有方法体}class B : A{ public override void move() { Console.WriteLine("子类B,move"); } public override void move3()//抽象类抽象方法必须在子类里实现 { Console.WriteLine("子类C,move"); }}abstract class C : A{ public override void move3(){ Console.WriteLine("子类C,move3"); } public abstract void move4();}class D:C{ public override void move() { } public override void move3()//虽然此处重写了父类的方法,但是没有实现父类的方法 { } public override void move4() { Console.WriteLine("子类D,move4"); }}
class Program
{
static void Main(string[] args)
{
Car C1 = new Car(4,1.3f,5);
C1.Speak();
Console.ReadKey(); }}abstract class Vehicle//定义汽车类{ public int wheels;//公有成员:轮子个数 protected float weight;//保护成员:重量 public Vehicle(int w, float g) { wheels = w; weight = g; } public virtual void Speak() { Console.WriteLine("the speak"); }}class Car : Vehicle//定义轿车类{ int passengers;//私有成员,乘客数 public Car(int w, float g, int p) :base(w,g) { wheels = w; weight = g; passengers = p; } public override void Speak() { Console.WriteLine("The car Speak"); Console.WriteLine("车轮数:"+wheels); Console.WriteLine("车的重量:"+weight); Console.WriteLine("承载人数:"+passengers); }}class Truck : Vehicle//定义卡车类{ int passengers;//私有成员:乘客数 float load;//私有成员:载重量 public Truck(int w,float g,int p,float l):base(w,g) { wheels = w; weight = g; passengers = p; load = l; } public override void Speak() { Console.WriteLine("The truck"); }
}
0 0
- 抽象类 抽象函数
- 抽象类、抽象方法
- 抽象类抽象方法
- 抽象类,抽象方法
- 抽象类,抽象方法
- 抽象方法,抽象类
- 抽象类、抽象方法
- 抽象类、抽象字段、抽象方法
- 抽象类、抽象方法、抽象属性
- 13.抽象类、抽象字段、抽象方法
- 抽象类
- 抽象类
- 抽象类
- 抽象类
- 抽象类
- 抽象类
- 抽象类
- 抽象类
- sshfs挂载与ssh无密码登录
- 设计模式简单理解
- EF导航属性真分页查询
- 使用sshfs挂载远程目录
- Editorial Codeforces Round #Pi
- 抽象类
- 盒子(uva-1587)
- Linux实现SSH无密码登录
- 3.2.5.1 检查一手扑克牌
- Win创建快捷方式CMD定位到目录
- 计算机经典书籍电子书合集
- 重温java基础
- Java 子类初始化父类的构造方法 成员变量不支持多态
- HDFS——HDFS整体设计架构和原理