C#之入门总结_多态_07

本文详细介绍了 C# 中的多态概念及其实现方式,包括 virtual 和 override 的使用、抽象类与接口的区别,以及 sealed 方法的应用。通过具体示例说明了如何在面向对象编程中运用这些特性。

         密封法用于对类的限制

         //我们在密封一个方法的时候 此方法必须是重写的方法 即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 接口名
{
    抽象方法();
}

对一个类继承了含有相同方法名的接口时,那么我们就需要使用显示接口
显示实现接口比起实现接口,就是在方法名前加上了接口的名字

相同点:
不能被实例化
博涵尉氏县的方法声明
派生类必须实现未实现的方法。抽象了是抽闲方法,接口是所有的成员

类可以继承多个接口但是只能继承一个抽象类
接口是完全全抽象的而抽象是不完全抽闲的



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值