设计模式第一天——面向对象的基础

来源:互联网 发布:游戏试玩网站源码 编辑:程序博客网 时间:2024/06/07 11:23

自己在看大话设计模式的书(Java),所以留点笔记给自己,毕竟自己脑子不好使,先梳理一些基本的概念

面向对象

面向对象的优势:1.符合人们习惯的思维方式,便于分解复杂的问题;

2.易于软件的维护和功能的增减;

3.可重用性好;

4.与可视化技术相结合,改善工作界面;

名词:

对象是类的一个实例,类是对象的集合;

实例变量是某一实例具有的状态;

继承:一个对象直接使用另一个对象的属性和方法;

接口可以被多继承,不能被实例化

NML:统一建模语言

接口模式:一个类的实例希望使用另一个对象的服务,但是不知道那个对象属于哪个类,这个时候就需要把那个服务抽象为一个接口

接口模式包括:适配器模式,外观模式等

接口和抽象类

抽象类:类描述对象,如果一个类没有足够的信息描绘一个具体的对象,那他就是抽象类

抽象类不能实例化;eg:正方形,圆等对象属于形状这个类,但是形状不可描述,没有具体概念,所以他是一个抽象类

抽象类中可以有非抽象的成员方法,接口只有抽象的(静态的不能被修改的)

选择抽象类还是接口的时候判断类究竟是什么;继承是is-a的关系,实现是like-a的关系

实现抽象类和接口必须实现其中所有方法

接口中定义的变量必须给初值实现类中不能重新定义

抽象类中的变量默认是friendly,在子类中可以重新定义,重新赋值

接口和委托

接口可以包含属性,索引,方法以及事件。但委托不能包含事件(其实并不是很懂这句话)

设计模式的六大原则

开闭原则:实现热插拔,增加扩展性;

里氏代换原则:实现抽象化,子类父类的替换;

依赖倒转原则:针对接口变成,开闭的基础;

接口隔离原则:使用多个隔离的接口,降低耦合;

迪米特法则,最少知道原则:功能模块独立;

合成复用原则:合成,不是继承;

最后:因为是口头总结,总有点不合适的,以后会慢慢改进

Some scenery,once to see into the heart,even in the moment,is eternal.

有些风景,一旦入眼入心,即便刹那,也是永恒