面向对象中的对象 面向对象的一些术语精解

面向对象的一些术语精解
多态 一个对象变量可以引用多种实际类型的现象叫做多态(polymorphism) 在java和c++语言中指的是可以用子类对象赋给父类对象 说道多态 就要说说覆蓋(overriding) 覆蓋实际上指在同一个函数原型的情况下 将父类的一个实现替换为子类的一个实现
动态绑定 在运行时能够自动的选择调用那个方法的现象叫做动态绑定(dynamic binding)
继承的设计技巧
将公共操作和域放在超类
不要使用受保护的域
使用继承实现 is a 关系
除非所有继承的方法都有意义 否则不要使用继承
在覆蓋方法时 不要改变预期的行为
使用多态 而非类型信息
不要过多的使用反射
如果设计合理 OO设计中根本不会出现全局数据之类的东西 这一点保证了OO系统中高度的数据完整性
在OO术语中 数据表示为属性 行为表示为方法 限制对某些数据或方法的访问叫做数据隐藏(Data Hiding) 为了支持数据隐藏的概念 方法里提出了访问方法(accessor method)和设置方法(mutator method)两种特殊方法
封装 通过把数据和方法合并到一个对象里 以控制对数据和方法的访问的OO术语 通常 一个对象不应该对另一个对象的内部数据进行操作 应该设计完成特定任务的小对象 而不是设计完成许多功能的大对象
对象数据的多种英文表达方式 属性(attribute) 特性(property)
对象方法的多种英文表示方式 方法(method) 行为(behavior)
类和对象的关系 类是创建对象的模板 我们使用类来创建对象 当一个对象被创建时 我们说对象被实例化 对象被实例化后 才会在内存中存在 有个例子可能对于理解类和对象很有帮助 在关系型数据库中 表的定义就是类 表中的行数据是对象
消息 消息是对象之间的通讯机制 当对象A调用对象B的一个方法时 就是对象A在向对象B发送一个消息
接口 最终为用户提供服务的集合 理想情况下 应该只为最终用户提供他们需要的服务 接口要最小化
lishixinzhi/Article/program/Java/hx/201311/26617