面向对象程序设计

类的设计技巧

1.一定要保证数据私有
2.一定要对数据初始化
3.不要在类中使用过多的基本类型
4.不是所有的域都需要独立的域访问器和域更改器
5.将职责过多的类进行分解
6.类名和方法名要能够体现他们的职责
7.优先使用不可变更的类

继承设计技巧

  1. 将公共操作和域放在父类
  2. 不再使用受保护的域
  3. 使用继承实现“is-a” 关系
  4. 除非所有的方法都有意义,否则不要使用继承
  5. 在覆盖方法时,不要改变预期的行为
  6. 使用多态,而非类型信息
  7. 不要过多的使用反射

类之间的关系

  • 依赖(uses-a)
  • 聚合(has-a)
  • 继承(is-a)

依赖(dependence)

依赖是最明显、最常见的一种关系。

如果一个类的方法操纵另一个类的对象,我们就可以说一个类依赖另一个类。

应该尽可能的减少依赖关系,从软件工程的角度来讲,就是让类之间的耦合度最小。

在A的方法把B作为参数类型进行传参?

聚合(aggregation)

即”has-a“关系,聚合意味着类A对象包含着类B的对象。

继承(inheritance)

即“is-a”关系。继承就是类A的拓展类B,但类B不但包含类A的方法而且还会多出一些功能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 父类与子类 在Java术语中,如果C1类扩展自另一个类C2,我们称C2为父类,也称超类或基类,称C1为子类,也称次...
    Steven1997阅读 1,197评论 1 2
  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 2,031评论 0 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 1、.java源文件: 一个以”.java“为后缀的源文件:只能有一个与文件名相同的类,可以包含其他类。 2、类方...
    Hughman阅读 1,524评论 1 9
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,096评论 0 4