密封法用于对类的限制
//我们在密封一个方法的时候 此方法必须是重写的方法 即sealed和override进行搭配使用
//使用了sealed关键字的方法 在其他类进行对本类进行派生的时候 此方法将无法重写 //public sealed override void Test() //{ // Console.WriteLine("Test1");//}
多态 * virtrual 和override * 我们可以对一类事物抽象出父类 并且对父类中的方法可以有明确实现的时候 可以考虑virtrual和override的重写 * * * abstract 和override * * 我们可以对一类事物抽象出父类 但是我们对父类中的方法不知道明确的实现但是很明确父类肯定有这些方法的时候可以考虑使用abstract和override的重写 * * 以上两种方法都可以实现面向对象思想中的多态 * *
//抽象类就是用abstract修饰的类
abstract class AbstractTest
{
privatestring name;
privateint age;
//虚拟成员或者抽象成员不能是私有的
//抽象方法是用abstract修饰的方法
//抽象方法是不能还有方法体的
//抽象方法可以是public 和protected
//抽象类中可以写抽象方法
//抽象方法必须在抽象类中
publicabstractvoid Test();
//抽象类中可以写实例方法
/抽象类是无法进行实例化的 //AbstractTest test = new AbstractTest();
publicvoid Test01()
{
}
//因此抽象类是一个不完全抽象的类
//有virtual 和override的重写或覆盖
//面试题:重写和重载有什么区别?
/*
* 相同:
* 重载和重写的方法名都一致
* 不同点:
* 重写是在父子类中的 重载是在同一个类中
* 重写的参数列表一致 重载的参数列表不同
* 重写是运行是多态 重载是编译时多态
接口
接口就是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。 如果一个抽象类中的所有方法都是抽象的,则可以接口 语法: interface 接口名 { 抽象方法(); }
对一个类继承了含有相同方法名的接口时,那么我们就需要使用显示接口 显示实现接口比起实现接口,就是在方法名前加上了接口的名字
相同点: 不能被实例化 博涵尉氏县的方法声明 派生类必须实现未实现的方法。抽象了是抽闲方法,接口是所有的成员 类可以继承多个接口但是只能继承一个抽象类 接口是完全全抽象的而抽象是不完全抽闲的