首页 > 代码库 > 面向对象基础

面向对象基础

        很久很久就开始了面向对象的概念啦,但是一直也不懂,今天把这些基本的概念梳理一下,希望比以前强点。

对象和类:

        对象是一个包含的实体,是一组可以识别的特性和行为来标识。也就是一切的事物都可以是对象的。类就是对象的抽象,具有相同的属性和功能的对象的抽象的集合。其中类的首字母需要大写。

实例化:

        实例化就是给一个对象赋值,比如: Cat cat = new Cat() 也就是将Cat实例化。

构造方法:

        构造方法,又叫构造函数,就是就是对类的初始化。构造方法和类同名,没有返回值,在new的时候调用。也就是说在类创建的时候,就开始调用构造方法了。 上面例子中得new Cat()中得Cat 就是构造方法。

方法重载:

        方法重载,就是提供创建同名的多个方法的能力,但这些方法需要使用不同的参数类型,俩个方法必须要方法名相同,但参数类型或个数必须要有所不同。如 public Cat() 括号里面就是参数类型,也就是方法重载。

         方法get和方法set的区别:get表示外界调用可以得到,而set表示外界可以给内部的属性赋值。

访问权限:

          public、private和protect、internal的区别:public表示类成员可以允许访问,也就是公有的,private是私有的,不可以访问的。protect是成员访问的修饰符,受保护成员在他的类中可访问并且可由派生类访问。Internal关键字是类型和类型成员的访问修饰符,只在同一程序集的文件中,内部类型成员才可以访问的。

        

        

         这个例子很形象的告诉了我们他们的区别。

继承:

        继承的格式为“子类 : 父类”  例如:Cat : Animal   

        特点:1 子类拥有父类非private的属性和功能  

                   2 子类具有自己的属性和功能,也就是子类可以扩展父类没有的功能和方法

                   3 子类还可以以自己的方式实现父类的功能

                   4 当俩个类之间具备 is a 的关系的时候,就可以考虑用继承啦,继承是一种类与类之间的强耦合的关系。

        继承的优点:继承使得所有的子类公共的部分都放在父类,代码共享,避免重复,同时修改容易。

         子类构造方法需要调用父类同样参数类型的构造方法,用base关键字代表父类。例如: public Cat(): base()。

多态:

       多态表示不同的对象可以执行相同的动作,但是要通过他们自己的实现代码来执行。

        特点:1 子类以父类的身份出现

                   2 子类在工作时以自己的方式来实现

                   3 子类以父类的身份出现的时候,子类特有的属性和方法不可以同时使用

                   4 父类必须将该成员声明为虚拟的,通过添加virtual关键字来实现。

                   5 子类还可以选择使用override关键字,将父类实现替换为他自己的实现,这就是方法重写override。

      

        面向对象,刚刚起航。。。。。。


                                

           


面向对象基础