zoukankan      html  css  js  c++  java
  • C#基础学习要点总结1

     

    结构是值类型 (轻量级) 效率高

     

    类是引用类型 (重量级)

    1)静态成员属于类 生命周期:第一次类加载(被访问的时候)这个类下面的所有的静态成员会被加载到静态存储区,静态成员只存在一份,静态成员一旦创建在程序退出的时候才会被回收.

    2)实例成员属于对象 生命周期: 随着对象的创建而创建,被GC回收的时候

    3)在静态方法中不能直接访问实例成员

    4)静态构造函数

    第一次类的成员被访问的时候,静态构造函数执行 只执行一次

    在执行第一次访问之前先执行静态构造函数,再接着执行你的操作

     

    里氏替换原则:LSP子类可以替换父类的位置,并且程序的功能不受影响

    父类有的功能子类都有 所以不影响程序的功能

    父类变量指向了一个子类对象

    当一个父类变量指向一个子类对象的时候 只能通过这个父类对象

    调用父类的成员,子类独有的成员无法调用

    子类变量不能指向一个父类对象

    Person p = new Person();

    Strudent s = new Student();

    P = s;

    Person p1 = new Person();

    Student s1 = (Student)p1;

    子类变量不能指向一个父类对象

    必须要有继承关系,才可以使用强制转换

    如果一个父类变量指向的就是一个父类对象,将这个父类对象转换为子类对象的时候 会报异常

    如果一个父类变量指向了一个子类对象,那么可以将这个父类变量转换为子类对象

    Student s0 = (Student)p; //会报错

     

     

    IS 判断变量是否是指定的类型

    bool b = p is Person;

    b = p is Student; //因为一个person不一定是Student

    b = p is Object; //因为Person从Object继承

    B = p is Program;   如果没有继承关系,表达式的值永远都是false

    B = p1 is Person 父类变量指向子类对象,父类变量本身是Person 指向的对象学生也是一个Person

    B = p1 is Student; // p1变量指向的对象本来就是一个Student 

     

     虚方法

    如果子类重写了父类的虚方法,那么父类变量来调用这个方法的时候 会调用子类的

    父类变量指向子类的对象

    子类可以重写父类的虚方法,如果重写了,那么通过父类变量来调用虚方法,会调用子类的,如果没有重写会调用父类的

    Virtual 

    Override

     

    多态 同一种行为,对于不同的事物,有不同的表现形式

    多态的表现形式之一:将父类类型作为方法的参数

    屏蔽多个子类的不同,将多个子类当成父类来统一处理

     

    继承是为了多态. 扩展  开闭原则

     

    多态的两种表现形式:

    1)将父类类型作为方法 2)将父类类型作为返回值

    多态是基于继承

    找父类

     

  • 相关阅读:
    webService 部署以后参数输入框不能显示
    c# 发送邮件功能
    Linux上的free命令详解
    curl 命令详解
    查看mysql的root密码
    [shell]find用法小结
    ArrayList Vector LinkedList 区别与用法
    SecureCRT编码转换vim
    HashMap和Hashtable的区别
    Java中ArrayList和 LinkedList区别
  • 原文地址:https://www.cnblogs.com/chenanzixue/p/3464955.html
Copyright © 2011-2022 走看看