• za2


    程序集?生成后  一个exe,一个dll。 也可以是一个项目。

    vs 快速生成字段的代码段快捷键,快速生成构造函数,生成普通方法结构的快捷键

    *********************************

    new隐藏基类方法,主要目的是遵照里氏替换原则。父类和子类拥有同名的方法,但是2个方法无任何联系。 比如父类的wirte方法输出父类的所有属性,子类的方法输出另外个性定制的东西。

    问题来了,1.不用new 运算符照样输出的内容是一样的,调用各自的write方法输出的仍然和用new运算符一样的结果。

    2.为什么父类不用virtual,然后子类重写呢?   因为用来实现多态,new 会隐藏基类的方法,但是各自调用自己的方法。而override 是父类子类调用自己的方法。

    为什么用new运算符。

    里氏替换原则,OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。“抽象”是语言提供的功能。“多态”由继承语义实现。

    如此,问题产生了:“我们如何去度量继承关系的质量?”

    Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“继承必须确保超类所拥有的性质在子类中仍然成立。”也就是说,当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系。

    该原则称为Liskov Substitution Principle——里氏替换原则。林先生在上课时风趣地称之为“老鼠的儿子会打洞”。^_^

    我们来研究一下LSP的实质。学习OO的时候,我们知道,一个对象是一组状态和一系列行为的组合体。状态是对象的内在特性,行为是对象的外在特性。LSP所表述的就是在同一个继承体系中的对象应该有共同的行为特征。

    这一点上,表明了OO的继承与日常生活中的继承的本质区别。举一个例子:生物学的分类体系中把企鹅归属为鸟类。我们模仿这个体系,设计出这样的类和关系。

    类“鸟”中有个方法fly,企鹅自然也继承了这个方法,可是企鹅不能飞阿,于是,我们在企鹅的类中覆盖了fly方法,告诉方法的调用者:企鹅是不会飞的。这完全符合常理。但是,这违反了LSP,企鹅是鸟的子类,可是企鹅却不能飞!需要注意的是,此处的“鸟”已经不再是生物学中的鸟了,它是软件中的一个类、一个抽象。

    new 和 override 的区别。  (都针对将子类实例赋值给父类 或者 子类调用哪个方法)

    答:1. new 隐藏基类方法     ,调用各自类的方法

          Father f=new  son();                     f调用自己类的方法

          Son  s=new son();               调用自己son类的方法

    2. override   重写基类 ,调用重载了方法的最远的子类的方法。  会影响别的系统…………….

    Father f=new  son();     调用son 的重载后的方法

    Son  s=new son();  调用son的方法

    总结:

    父类和子类有相同签名函数

    1.子类函数默认修饰符都是new(当没有显示声明), 不管父类的方法是 virual 还是普通函数。

    2. 父类函数是virtual 函数,则子类同名函数可以用 new 和 override两个关键字

    3. new 和override运算符都是实现了多态。  都是针对子类将值赋给父类后。父类的实例去该调用何种方法。

    • new 隐藏基类方法     ,调用各自类的方法
    • override   重写基类 ,调用重载了方法的最远的子类的方法。

    *****************************************

    1. linq 中 select 和where 区别

    Enumerable 类

    System.Linq 命名空间

    select   将序列中的每个元素投影到新表中。

    where  基于谓词筛选值序列。

    select 延迟对象 Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>),返回Ienumerable<t>类型,也可以用selectmany 返回结合

    image

    2.

    image

    image

    image

    image

    image

    卸载项目,解决方案就不包含此项目,但是解决方案中还可以看见,可以重新加载。

    移除项目,解决方案就看不到此项目了,也可以重新添加到解决方案。

      

    4.  使用匿名委托可以简化程序,因为无需定义单独的方法

  • 相关阅读:
    14.9 InnoDB Row Storage and Row Formats InnoDB 行存储和行格式:
    14.8.3 Identifying the File Format in Use 确认使用的文件格式;
    14.8.2 Verifying File Format Compatibility 校验文件格式兼容性:
    14.8.2 Verifying File Format Compatibility 校验文件格式兼容性:
    14.8.1 Enabling File Formats
    14.6.7?Limits on InnoDB Tables InnoDB 表的限制
    第2章 PCI总线的桥与配置 分类: 浅谈PCI 2013-07-22 16:27 281人阅读 评论(0) 收藏
    1.5 PCI-X总线简介 分类: 浅谈PCI 2013-07-22 16:27 290人阅读 评论(0) 收藏
    1.4 PCI总线的中断机制 分类: 浅谈PCI 2013-07-22 16:27 313人阅读 评论(0) 收藏
    1.3 PCI总线的存储器读写总线事务 分类: 浅谈PCI 2013-07-22 16:26 261人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/StudyLife/p/3634773.html
Copyright © 2020-2023  润新知