首页 > 代码库 > 07抽象类特点
07抽象类特点
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _07抽象类特点{ class Program { static void Main(string[] args) { //1.抽象类、抽象成员必须标记为abstract,不能有实现,连大括号也不能有。 //2.抽象成员必须在抽象类中。 //3.抽象类不能被实例化,实例化后也没有用。 //4.子类继承抽象类后,必须把父类中的抽象abstract成员都重写override。除非子类也是抽象类。 //5.抽象成员访问修饰符不能是private //6.抽象类中可以包含实例成员。实例成员可以不被子类实现。 //7.抽象类是有构造函数的,虽然不能被实例化。 //8.如果父类抽象方法有参数,子类override重写时要传入对应参数,有返回值也类似有返回值。 //父类方法有默认实现,父类需要被实例化时,可以考虑将父类定义为普通类,用虚方法实现多态。 //父类没有默认实现,也不需要实例化,则将父类定义为抽象类。 Student s = new Student(); s.Say(); s.Test("andu"); } } abstract class Person { public abstract void Say(); public abstract void Test(string name); } class Student : Person { public override void Say() { Console.WriteLine("呵呵"); } public override void Test(string name) { Console.WriteLine("你好啊,{0}",name); } } abstract class Teacher : Person { }}
07抽象类特点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。