public class ClassName
{
private memberName; public void MethodName()
{
//code to operate memberName
}
}初学面向对象,表示有点困惑。老师只说这么做,没说为什么这么做。
习惯上我们都不直接对属性进行操作呢?采取消息传递的好处是什么呢?
{
private memberName; public void MethodName()
{
//code to operate memberName
}
}初学面向对象,表示有点困惑。老师只说这么做,没说为什么这么做。
习惯上我们都不直接对属性进行操作呢?采取消息传递的好处是什么呢?
==
private 就强制你不能直接对属性操作了,而不是靠习惯。 有些成员你总是不希望被随意改变的,private就干这个。你说是封装也可以。采取消息传递的好处是什么呢?
==
这个就和设计模式有关了。 采用消息传递本身没什么好处,又麻烦,又容易出错。 但是在解决一些问题的时候,使用设计模式可以提高效率,减少冗余和复杂度,增强系统的健壮性等等,而有些模式就需要使用到消息传递。 所以消息传递的好处就是采用了设计模式的好处。 如果说采用了不合适的设计模式,即使你的消息机制再精巧,再高效,也没啥好处。总而言之,面向对象的特点,你可以用换位思考,假设你自己就是这个要设计的对象,你要解决这个对象要处理的事情时,你希望怎么样工作最好。
定义为私有的,主要是把它包装起来,让对象中的属性不能让访问者直接访问它。保证它的安全性。