设计模式(一)基础面向对象
基础面向对象
封装
每一个对象都包含它能操作所需要的所有信息,不必依赖其他对象完成自己的操作
继承
代表一种“is a” 的关系,A is a B,表明 A 可以继承 B
多态
不同的对象可以执行相同的动作,但是会通过他们自己的实现代码来执行
抽象类
- 抽象类不能被实例化
- 抽象方法必须被子类重写的方法
- 一个类如果包含抽象方法,则必须是抽象方法
接口
接口就是把隐式公共方法和属性结合起来,以封装特定功能的一个集合
抽象类 和 接口
抽象类 | 接口 |
---|---|
可以有成员的实现 | 不能有成员实现 |
子类可部分实现 | 接口成员需要实现类完全实现 |
一个类只能继承一个抽象类 | 一个类可实现多个接口 |
- 类是对对象的抽象;抽象类是对类的抽象;接口是对行为的抽象
- 对于相似的类对象,用继承抽象类;跨越不同类的对象,跨越使用接口
- 抽象类是从子类中泛化出来的父类;接口是不知道实现类的存在,方法如何实现还不确定,预先定义
ArrayList 集合
- 可以根据使用大小按需求的动态增减
- 不是类型安全的,集合中所有元素都是以 Object 类型存放
- 装箱(值类 → Object) 和拆箱(Object → 值类)需要大量计算
泛型
具有占位符的类、结构、接口和方法,这些占位符是类、结构、接口和方法所存储或使用的一个或多个类型的占位符,泛型集合可以将类型参数用作它所存储的对象的类型的占位符;类型参数作为其字段的类型和其方法的参数类型出现[MSDN]
委托和事件
- 委托是一种引用方法的类型,一旦委托分配了方法,委托将与该方法具有完全相同的行为
- 事件是发生在其他类或者对象关注的事情时,类或对象可以通过事件通知它们