C#中的继承、多态、封装

前言

--------------------------------------------------------------------------------------------------------------------------

继承,多态,封装是面向对象的三大特性(抽象是基础)。而这三大特性具体在编程中是如何体现的,请听笔者娓娓道来。


正文

--------------------------------------------------------------------------------------------------------------------------


继承

1概念:继承指的是一个类A能利用另一个类B的资源,其中类A被称为基类(父类),而类B被称为派生类(或子类)。继承方法如下

            //父类
            public class A
            {
                public A{}
            }


            //子类
            public B:A     //类的继承用:标识
            {
                public B{}
            }

2有关子类在父类中访问权限的问题

①并非所有类都可作为父类被继承,比如带有sealed修饰符的密封类

②父类中只有两种成员能被子类访问,即public和protected类型的成员。其中protected类型只能在子类中进行访问

③子类中可以修改父类中的以下成员,虚拟成员(virtual)和抽象成员(abstract)。对于虚拟成员的修改是在子类中重写(override)该成员的执行代码;而对于抽象成员,它在父类中没有执行代码,需要在子类中进行添加。


扫描二维码关注公众号,回复: 1109037 查看本文章

多态

1概念:指同一操作作用于不同的类的实例,将产生不同结果。多态主要通过在子类中对父类中的成员进行替换或重定完成。多态例子如下

    //父类
    public class Class1
    {
        public virtual void Out()
        {
            Console.WriteLine("调用了父类Class1中的方法");
        }
    }


    //子类
    public class Class2:Class1
    {
        public override void Out()
        {
            Console.WriteLine("调用了子类Class2中的方法");
        }
    }

封装

1概念:封装是指将对象的信息进行隐藏,使它的使用者无法看到,而只是提供一个访问接口。

2.例子:具体的例子很多,其实软件开发程序中无处不在,比如运算符的运算方式,函数,方法,控件这些都是程序自带的,自带的意思其实就是开发人员把功能实现后,封装在了程序中。例如我们想知道1+2的结果 ,在代码中用加号连接1和2,系统会识别+,是因为+的使用方法已经封装在程序中了。

猜你喜欢

转载自blog.csdn.net/delicious_life/article/details/80446693