对象的使用
对象的生命周期
对象的比较
new Person();这是一个匿名对象,当只需要使用一次这个对象时,可以这么用这个对象。
概念:我们可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象,如:new Person().shout();
如果对一个对象只需要进行一次方法条用,那么就可以使用匿名对象。
我们经常将匿名对象作为实参传递给一个函数调用。
传对象用这种写法比匿名对象的情况多的多。
实现类的封装性
如果外面的程序可以随意修改一个类的成员变量,会造成不可预料的程序错误,就像一个人的身高,不能被外部随意修改,只能通过各种摄取营养的方法去修改这个属性。
在定义一个类的成员(包括变量和方法)时,使用private关键字说明这个成员的访问权限,这个成员成了类的私有成员,只能被这个类的其他成员方法调用。
为了实现良好的封装性,我们通常将类的成员变量声明为private,再通过public的方法来对这个变量进行访问。需要定义两个方法,getXxx()获取和setXxx()赋值。
在进行程序设计时,要尽量避免一个模块直接修改或操作另一个模块的数据,模块设计追求强内聚(许多功能尽量在类的内部独立完成,不让外面干预),弱耦合(提供给外部尽量少的方法调用)。
内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。耦合(Coupling)是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求强内聚,弱耦合。