面向对象基础

  1. 什么是对象?对象是一个自包含的实体,用一组可识别的特性和行为来标识.
  2. 什么是类? 类是具有相同属性和功能的对象的抽象的集合.
  3. 什么是实例?实例就是一个真实的对象.实例化就是创建对象的过程,用new关键字来创建.new关键字用来在内存中申请一个空间存放数据.
  4. 构造函数 默认一个无参数的构造函数,在new class的时候调用
  5. 方法重载 可在不改变原方法的基础上增加功能,方法名相同,参数类型或个数有所不同
  6. 字段是存储类要满足其设计所需要的数据,是与类相关的变量
  7. 属性是一个方法,但在调用他们的代码看来他是一个字段,属性适合以字段的方式使用方法调用的场合(使用属性可以设置符合要求的的字段的值)
  8. Public 允许任何类访问 private 仅允许同一个类的成员访问,他的子类也不能访问,定义变量时默认为private,protected的子类可以访问基类
  9. 封装:每个对象都包含它能进行操作所需要的所有信息,因此对象不必依赖其他对象来完成自己的操作 好处,减少耦合,内部可自由修改,具有清晰的对外接口
  10. 继承代表了一种 "is-a"的关系,还可以理解为是对被继承者的特殊化,除了具备被继承者的特性外,还具备有自己的独有个性,他定义类之间如何关联共享.
    1. 子类拥有父类非private的属性和功能
    2. 子类可以扩展父类没有的属性和功能
    3. 子类还可以以自己的方式实现父类的功能(方法重写)
    4. 子类不能继承基类的构造方法,只能被调用,可以使用base关键词
    5. 继承使得所有子类公共的部分都放在了父类,使得代码得到共享,避免重复
    6. 使得修改或扩展变得容易
    7. 缺点,父类变则子类不得不变,破坏封装,父类实现的细节暴露给子类
    8. 强耦合的关系,当2个类具备is-a的关系时,就可以考虑用继承
  11. 多态表示不同的对象可以执行相同的操作,但要通过他们自己的实现代码执行
    1. 子类以父类的身份出现
    2. 子类工作的时候以自己的方式来实现
    3. 子类以父类的身份出现的时候,子类特有的属性和方法不可以再使用
  12. 虚方法 virtual 为了让子类的实例完全接替来自父类的类成员,父类必须将该成员声明称虚拟的, 虚方法是按照运行时类型而非编译时类型进行动态绑定调用
  13. 子类可以选择使用override关键字,来实现替换父类的实现,方法重写
  14. 抽象类
    1. 类和方法前加上abstract,即抽象类和抽象方法
    2. 抽象类不能实例化
    3. 抽象方法是必须被子类重写的方法
    4. 如果类中包含有抽象方法,那么类就必须定义为抽象类,不论是否还包含有其他一般方法
    5. 抽象类拥有尽可能多的共同代码,拥有尽可能少的数据
    6. 抽象类通常代表一个抽象概念,他提供一个继承的出发点,当设计一个新的抽象类时,一定是用来继承的.
  15. 接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合
    1. 实现接口类就必须实现接口中的所以方法和属性
    2. 一个类可以实现多个接口
    3. 接口中的方法或属性前面不能有修饰符,方法没有方法体
  16. 抽象类与接口的区别
    1. 抽象类可以给出一些成员的实现,接口却不包含成员的实现
    2. 抽象类中的成员可以被子类实现,而接口的成员需要类完成实现
    3. 一个类只能继承一个抽象类,而可以接受多个接口
    4. 类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象
    5. 如果行为跨越不同类的对象,可使用接口,对于一些相似的类对象,用继承抽象类
    6. 从设计角度讲,抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类,而接口是根本不知道子类的存在,方法如何实现还不确认,预先定义
    7. 通过重构改善既有代码设计
  17. 泛型是具有占位符的类接口结构和方法
    1. 使用泛型不需要装箱拆箱
  18. 委托与事件
    1. 委托是对函数的封装,可以当作给方法的特征指定一个名称.而事件是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程
    2. 委托是一种引用方法的类型,一旦为委托分配了方法,委托将与方法具有相同的行为
    3. 在发生其他类或对象关注的事情时,类或对象可通过事件通知他们

posted on 2008-07-06 11:31  隨風.NET  阅读(266)  评论(0编辑  收藏  举报

导航