zoukankan      html  css  js  c++  java
  • 面向对象(三大特性--多态)

    多态是强类型语言中使用是的一种特性

    C#是一种强类型语言,弱类型语言可以随意转换类型,所以不存在多态

    JS就是一种弱类型语言

    例如:

     var a = 6;

    此处a的数据类型是根据后面赋值的值的类型来确定的,后面是int型,a就是int型,后面是string类型,a 就是string类型。

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

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


    构造函数:
    写法:没有返回类型,函数名是类名
    特点:写法特殊 执行时间特殊、
    作用:在造对象的时候,对对象里面的成员进行初始化

    this关键字:
    this代表该对象,不是代表该类

    访问修饰词:
    public 公有的
    protected 受保护的
    private 私有的

    继承:
    概念:子类可以继承父类的一切
    特点:单继承 一个子类只能有一个父类,一个父类可以有多个子类

    base关键字


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

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

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

    使用这个关键字来扩展类

    (3)多态
    一、编译多态
    函数重载


    二、运行多态
    概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法的时候表现出的不同就称为多态

    Ren r = new Ren();


    子类的方法会覆盖父类的方法。

    class DongWu
    {
    public virtual string Eat()//虚方法
    {
    return "该动物在吃饭";
    }
    }

    class Dog : DongWu
    {
    public override string Eat()//重写
    {
    return "狗在吃骨头";
    }
    }

    相当于把父类的方法修改了

    ★条件:必须要有继承,父类引用指向子类实例,子类必须对父类的方法进行重写

    里氏代换原则:如果有一个地方需要使用到父类对象,可以用子类的对象 替换它。

    C#是强类型语言


    弱类型语言可以随意转换类型
    JS:弱类型语言
    var a = 6;

  • 相关阅读:
    Java对象序列化/反序列化的注意事项
    初尝Java序列化/反序列化对象
    Java的byte数组
    在C#或者SWT上跨进程访问SWT控件的问题
    Enum实现单例模式
    看个泛型的例子
    构造器优化需要多个构造器的类(建造者模式)
    线程间操作无效: 从不是创建控件的线程访问它.
    SWT中的多线程(Invalid thread access)
    读书笔记 --腾讯传
  • 原文地址:https://www.cnblogs.com/zl1121102942/p/5794291.html
Copyright © 2011-2022 走看看