zoukankan      html  css  js  c++  java
  • 面向对象封装、重载,继承、多态(面向对象三大特性之一)

    封装
    目的:保护类,让类更加安全。
    做法:让类里面的成员变量变为私有的,做相应的方法或者属性去间接的操作成员变量

    封装成员方法来间接操作类里面的成员变量
    使用成员属性来间接访问类里面的成员变量

    访问修饰符
    private 私有的 只能在该类中访问
    protected 受保护的 只能在该类和它的子类中访问
    public 公有的 在任何地方都可以访问


    构造方法(函数):
    作用:造对象所要调用的方法,用来创建对象,可以对成员进行初始化
    每一个类都有一个构造方法,不写也有只不过看不到而已

    特殊性:写法特殊 执行时间特殊

    函数重载
    函数重载需要的条件:函数名要相同,参数的个数或者参数的类型不同

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

    this关键字
    虽然写在类里面,但不是属于类的,而是属于该对象的
    一般来说在类里面 this关键字是可以省略的,但是如果有一个方法形参名字和成员名字重复,这时候再调用该对象里面的成员的时候需要加this关键字

    is关键字

    判断变量是不是属于某个类型
    if (y2 is Ren)
    {
    s = "是一个人";
    }
    else
    {
    s = "不是一个人";
    }

    as关键字
    转换类型(只能转换兼容类型,可以将子类对象转换为父类对象)

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

    继承
    子类可以继承父类的一切
    特点:单继承
    一个子类只能有一个父类 一个父类可以有多个子类
    C#特殊点:所有类的祖先都是object

    base关键字:在子类中代表父类对象,用法和this关键字相同
    如果父类有构造方法,那么子类也要有构造方法,如果父类构造需要参数,那么子类构造也必须有相应的参数。
    子类构造后面可以通过base调用父类的构造方法
    public China(string m):base(m)
    {
    }

    sealed关键字:密封类 该类不可以被继承

    部分类:partial 可以将一个类拆分成多个部分,分别放在多个文件内

    namespace 命名空间 相当于虚拟文件夹

    多态:
    1.编译多态
    函数重载
    2.运行多态
    概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法的时候表现出的不同就称为多态
    条件:必须要有继承 父类引用指向子类实例 子类必须对父类的方法进重写

    里氏代换原则:如果有一个地方需要使用到父类对象,那么你可以将一个子类对象给他

  • 相关阅读:
    autorelease的对象何时被释放
    如何处理webView跳转
    根据Url 获取图片尺寸 iOS
    iOS开发证书"此证书的签发者无效"解决方法
    IOS, xib和storyboard的混用
    友盟社交分享中的那些坑
    iOS手势(滑动)返回的实现(自定义返回按钮)
    关于tableview下拉刷新崩溃的问题
    dispatch_async 和dispatch_sync
    ios调用系统界面显示英文
  • 原文地址:https://www.cnblogs.com/dreamer666/p/5761365.html
Copyright © 2011-2022 走看看