• .NET基础知识


    面向对象三大要素
    1、继承 :多组合、少继承;低耦合、高内聚;
    2、封装 :对内实现数据私有,对外实现方法调用,保证数据的完整性和安全性;
    3、多态 :一个接口,多种方法。

    面向对象七大原则:
    1、单一职责原则:一个类应该仅有一个引起它变化的原因。
    2、开发封闭原则:对修改封闭,对扩展开发。
    3、依赖倒置原则:依赖于抽象,不依赖于具体,因为抽象的稳定的。
    4、接口隔离原则:尽量应用专门的接口,而不是单一的总接口,接口面向用户,将依赖建立在最小的接口上
    5、Liskov替换原则:子类必须能够替换其基类;
    6、合成/聚合复用原则:新对象中聚合已有对象,使之成为新对象的成员,少继承、多聚合;
    7、迪米特法则:最少知识原则,软件实体应尽可能最好和其他软件实体发生相互作用。

    接口的规则
    1、接口隔离原则;
    2、接口支持多继承,既可作用于值类型,也可作用于应用类型;
    3、禁止为已经发布的接口添加新成员,这意味着必须修改所有实现了该接口的类型;
    4、接口不能被实例化,没有构造函数,接口成员被隐失声明为Public;
    5、接口可以作用为值类型和引用类型,并且支持多继承。 

    拆箱和装箱
    就是值类型和引用类型的转换。
    装箱就是值类型数据转换为无类型的应用对象,这种转换主要指转换为System.Object类型或者该值类型实现的任何接口类型;
    拆箱就是引用类型转换为值类型,通常伴随从堆中复制对象实例的操作。


    值类型和引用类型
    值类型:Value Type,值类型实例通常分配在线程的堆栈上(strack),并不包含任何指向实例数据的指针,因为变量本身包含了实例数据。
        简单类型、枚举类型、结构类型。
    引用类型:Reference Type,引用类型实例分配在托管堆上(Managed heap),变量保存了实例数据的内存应用。
        类、接口、数组、委托

    构造函数和析构函数
    构造函数不具有任何类型(不是void),不返回任何值,与类同名。构造函数用于对象的初始化。可以带参数。
    析构函数作用与构造函数相反,名字是类名前加~
    构造函数可以重载,析构不可以。
    它们调用的顺序是先构造的后析构,后构造的先析构。

    委托
    delegate 关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。
    委托是事件的基础。

    接口
    接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值;
    接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数和常数;但C#中不能包含任何静态成员
    一个类可以实现多个接口,当一个类实现某个接口时,不仅要实现接口定义的所有接口方法,还要实现该接口从其他接口继承的所有方法。

    抽象类Abstract
    提供多个派生类共享基类的公共定义,既可提供抽象方法,也可以提供非抽象方法;
    不能实例化,必须通过继承由派生类实现抽象方法。
    实现抽象方法用Override完成

    abstract声明抽象类、抽象方法
    1.抽象方法所在类必须为抽象类
    2.抽象类不能直接实例化,必须由其派生类实现。
    3.抽象方法不包含方法主体,必须由派生类以override方式实现此方法,


    虚方法
    使用virtul定义该方法为虚拟方法。
    virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。例如,此方法可被任何继承它的类重写。
    virtual标记方法为虚方法
    1.可在派生类中以override覆盖此方法
    2.不覆盖也可由对象调用
    3.无此标记的方法(也无其他标记),重写时需用new隐藏原方法
    abstract与virtual: 方法重写时都使用 override 关键字
    interface中的方法和abstract方法都要求实现

    虚方法声明使用virtual关键字;调用虚方法,运行时将确定调用对象是什么类的实例,并调用适当的覆写的方法;虚方法可以有实现体。
    抽象方法声明使用abstract,是必须被派生类覆写的方法,抽象类就是用来被继承的;可以看成是没有实现体的虚方法;如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其他一般方法;抽象类不能有实体的。


    WebService
    WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。由此可以看出,在以下三种情况下,使用WebService会带来极大的好处。
    长项一:跨防火墙的通信
    长项二:应用程序集成
    长项三:B2B的集成
    长项四:软件和数据重用
    也有一些情况,WebService根本不能带来任何好处。
    短处一:单机应用程序
    短处二:局域网的同构应用程序

    框架
        框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。
        可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。

     

  • 相关阅读:
    MySQL数据库操作(7)联表查询、事务
    MySQL数据库操作(6)查询
    MySQL数据库操作(5)表关系
    Python零基础入门第1章.环境搭建
    Python零基础入门教程目录
    6.函数与代码复用
    元组
    列表
    复数(complex)
    浮点数类型(float)
  • 原文地址:https://www.cnblogs.com/tumbler/p/1734923.html
Copyright © 2020-2023  润新知