类的相关知识
类描述了具有相同特性和行为的对象集合。
将对象看做一个服务提供者。(一项伟大的简化工具)
好处:这样是有助于提高对象的内聚性。
每个对象都有一个它所能提供服务的内聚的集合,在良好的面向对象设计每个对象都能很好地完成一项任务,不试图做更多的事。
访问控制 (将程序开发分为类创建者和客户端程序员)
客户端程序员的目标收集各种实现快速开发应用的类,类创建者是构造类,这种类只向客户端程序员暴露必须暴露的东西,其他的都隐藏,
这样类创建者就可以随便修改隐藏的内容而不用担心对其他人造成的影响。(隐藏的部分通常代表对象内部脆弱的部分,隐藏起来可以减少程序bug)
访问控制第一个存在的原因是想让客户端程序员无法触及他不应该触及的部分。
访问控制第二个存在的原因是允许库类设计者可以改变类内部的工作方式而不影响到客户端程序员。
代码复用
代码复用是面向对象设计语言提供的最了不起的优点之一。
最简单的复用:直接使用该类的一个对象。
组合:此外亦可以将那个类的一个对象置于某个新的类中。我们称为“创建一个成员对象”,新的类可以由任意数量,
任意类型的其他对象以任意可以实现的新的类中的想要的功能的方式所组成。使用现有的类合成新的类,所以这种概被称为组合(composition)
如果组合是动态发生的,那么通常被称为聚合。
新类的成员对象通常都被声明为private。
在建立新类时,应该首先考虑组合,因为它看起来更加简单灵活。如果采用这种方式设计会变得更加清晰。
继承
继承:子类继承了父类的所有成员包括private成员(只是被隐藏起来了,并且不可以访问)
重载:在继承的子类中创建该方法的新定义