美文网首页
属性&&继承

属性&&继承

作者: 混世小码农 | 来源:发表于2019-03-07 13:06 被阅读0次

 OOP三大特性之封装特性:

为什么要封装?

       属性存在的目的:其实就是为了保护类的内部结构不被破坏,达到封装性.

       属性的语法格式:

       访问修饰符public(必须滴) + 对应字段的数据类型 + 字段名称(首字母必须大写)

       {

       }

       属性本身就是一种特殊的方法.它没有返回值是因为属性内部提供了可以访问该属性访问器


      ref参数:将值类型引用改变为地址引用

     值类型作为参数传递的时候,传递的不是本身,而是副本.此时要想修改本身的值,要将值类型变为引用类型传递才可以.

     string虽然本身是引用类型,但是作为参数传递的时候,默认的是值传递,而不是引用传递.这就需要我们

     如果想改变原来的字符串,这个时候呢就要将值传递改为引用传递,加上ref关键字.

     如果你不想改变原来的字符串,就直接传递字符串就好.

     object本身就是引用类型,它呢和字符串不一样,它默认就是引用传递,也就是传递的是地址.

     数组作为参数进行传递,也是引用传递.


继承使用条件:当你在设计类的时候,发现有字段重复.

                       具有相同特征不同行为的可以抽取出来,单独称为一个类,这个类供派生类使用.

                      简称:基类.

在现实生活中继承的关系有很多

       1.儿子继承父亲

       2.黄焖鸡米饭

       .....

在程序中使用关键符号:表示继承

格式:(:+类)

这个类是指继承类

继承关系中的特点:

1.子类可以继承父类中的公有字段

2.子类可以继承父类中的公开属性

3.子类可以继承父类中的公开方法

4.父类不能拥有子类的字段/方法/属性/索引器

5.在C#中不支持多重继承,也就是说一个类只能继承一个类,如果你想支持多继承,那么请使用Interface

继承关系中的构造函数(重点)

1.在继承关系中,首先会调用父类的构造函数,然后再调用子类中的构造函数

2.在继承关系中,子类初始化对象的时候,先调用父类的构造函数,然后再看子类构造函数有没有显示

通知编译器指定调用父类的哪个构造函数,如果没有,那么默认去调用父类的无参数构造函数

此时如果父类重写了带有参数的构造函数,程序编译不通过.那么解决办法就是给父类添加无参构造函数

或者在子类构造函数中声明指定调用父类的哪个构造函数(使用base关键字)

相关文章

  • visibility :hidden和display:none的

    是否是继承属性:display不是继承属性,而visibility是继承属性,后代元素的visibility属性若...

  • JavaScript踩坑——继承&原型链

    20170825-继承&原型链 属性 自有属性自己定义的属性 继承属性继承来的属性// 判断某个属性是否为该对象的...

  • Swift之属性重写

    引入 属性继承:子类可以继承父类的属性,包括存储属性、计算属性和类型属性,还可以继承父类的属性观察器。属性重写需要...

  • 389,swift中属性的重载(计算属性和存储属性的重载:关键字

    引入 属性继承:子类可以继承父类的属性,包括存储属性、计算属性和类型属性,还可以继承父类的属性观察器。属性重写需要...

  • 构造函数-学员彭时宇

    一、构造函数的伪装 继承属性:Obj.call(this,属性1,属性2)//继承obj的属性 二、原型链 继承函...

  • swift继承

    1、属性的继承 子类可以继承父类的属性,包括存储属性、计算属性和类型属性 控制台: 2、属性观察器的继承 控制台:...

  • CSS继承

    继承属性:当元素的一个继承属性没有指定值时,则取父元素的同属性的计算值。 非继承属性:当元素的一个非继承属性没有指...

  • HTML标签类型

    修改标签的显示类型 CSS属性 CSS属性-可继承属性 CSS属性-不可继承属性 CSS常用属性代码附录:

  • UICollectionView 表格视图

    继承UIScrollView继承它的所有属性 属性 创建 UICollectionViewScrollDirect...

  • 属性&&继承

    OOP三大特性之封装特性: 为什么要封装? 属性存在的目的:其实就是为了保护类的内部结构不被破坏,达到封装性...

网友评论

      本文标题:属性&&继承

      本文链接:https://www.haomeiwen.com/subject/gwnrmttx.html