我理解的oop
来源:互联网 发布:javascript table 编辑:程序博客网 时间:2024/05/21 09:26
1. 对象
对象有自己的属性和方法;可以当做参数传递;浅拷贝;回调;抽象等。这个时候的面向对象是一个“点”。
2. 泛化
泛化有继承和实现,再加上多态,这样就是对象有了竖直方向上的关系。这个时候的面向对象是一条“直线”。
3. 组合、聚合、关联、依赖
这四类关系使对象有了横向上的联系。这个时候的面向对象是一个“面”。
虽然面向对象有泛化、组合、聚合、关联、依赖等关系,但是还需要合理的将它们使用在对象之间,这个时候就需要用到设计模式。
一、面向对象的6大设计原则
1. 单一职责原则:
2. 里氏替换原则 :为良好的继承定义了一个规范
3. 依赖倒置原则 :面向抽象编程
4. 接口隔离原则 :接口尽量细化,接口中的方法尽量少
5. 迪米特法则 :只与直接的朋友通信
6. 开闭原则:对扩展开放,对修改关闭,拥抱变化。前五个原则是其具体的解释
二、23中常用的设计模式
比较官方的分类:
1. 创建型(5种)
2. 结构型(7种)
3. 行为性(11种)
从功能上的分类:
委托模式:装饰模式、代理模式;状态模式、策略模式、访问者模式
对继承的补充:桥梁模式、装饰模式
1 0
- 我理解的oop
- 对oop的理解
- oop的理解
- OOP的思想的理解
- 理解JavaScript的OOP编程
- 我所理解的OOP——UML六种关系(转)
- 我所理解的OOP——UML六种关系
- 我所理解的OOP——UML六种关系
- JQuery OOP 及 OOP思想的简易理解
- JQuery OOP 及 OOP思想的简易理解
- 十分经典的理解OOP的文章!
- Java的OOP思想(自己理解)
- 对OOA,OOD,OOP的理解
- 关于OOP中集合的理解
- OOP基础理解
- 如果理解oop
- 重新理解OOP(java)
- 理解 Java oop
- xutils向服务器发送表单
- FragmentTabHost的使用
- Python几种并发实现方案的性能比较
- PhpExcel中文帮助手册|PhpExcel使用方法
- $(function()与(function($)等的区别详细
- 我理解的oop
- .NET 程序集高级技术与动态产生和编译源代码
- CodeForces 55D Beautiful numbers
- ffmepg学习记录:一编译ffmpeg
- Android实现app内部更改系统时间(需要手机root)
- 【内存泄漏】Android内存泄漏---单例内存泄漏
- code force 363B
- java web开发高并发系列(1)--- 高并发处理
- 第三十七课:智能指针分析----------狄泰软件学院