一、类与对象的基本概念
1、初学者的问题
①根据什么来编写类?
软件的需求与设计问题——》》软件的功能需求分析和总体设计
如:数据库开发程序的三层结构:实体类模块(各层之间传递数据),数据访问模块(访问数据库),界面模块
②类都包含哪些内容?
类的基本组成结构问题——》》包括:属性、方法
③类的编写有什么具体方法和技巧?
面向对象的基本原则问题——》》长期的体会和经验总结
④类之间的关系如何确定?
软件各组件之间的配合问题——》》不同的软件有不同的设计模式
⑤程序运行时类会怎样变化?
对象的创建与使用问题——》》类时模板,程序运行时都是对象
2、面向对象的三大特性
(1)封装(用的最多的)
隐藏内部细节,模块开发者只关心内部实现和接口要求。模块调用者只关心接口。
好处:安全保证(避免代码外漏),快速应用(直接应用)、团队协作(多人协作)
应用:类时程序的基本单元,也是封装的基本单元,但是类可以被模块封装
(2)继承
复用现有代码
好处:一处更新,处处更新
弊端:关联容易变得复杂
应用:object、Form。。。
(3)多态
让一个对象的接口可以根据不同的请求做成不同的响应
好处:使程序更容易拓展、维护方便
应用:继承多态、接口多态(简单工厂、抽象工厂)
3、面向对象的基本原则
(1)单一职责原则(对象职责明确原则)
一个对象只做好一件事情,必须专注,职责过多容易引起变化的原因就多,程序就不稳定(高内聚,低耦合的延伸)
(2)开放封闭原则(核心原则)
需求变化时尽量减少修改类的设计,而是通过拓展来完成,即封闭修改,开放扩展
(3)依赖倒置原则
基于接口编程,高层模块调用接口,底层模块实现接口,防止底层变化直接影响高层
(4)接口隔离原则
尽可能多的使用专用的小接口,而不是总接口,避免接口过于复杂
(5)里氏替换原则
在继承关系中子类可以替代父类,虚拟机可以根据父类变量动态的找到
网友评论