一直在学习java,一直口里说着OOA、OOD等面向对象的概念,突然发觉what is OO? OO有什么好处?这些基本的问题都没有搞清楚,今天就上网学习一下。之所以提倡OO思想,首要一个原因我想应该是这比较接近于我们的正常思维。面向对象的程序设计模型可以概括: 程序= 对象 + 消息。面向对象的特性就是:封装,继承以及多态。所谓封装就是将事物的属性以及一些行为结合成一个独立单位,同时隐藏对象的内部细节,只对外提供有限的对外联系方法。这样做的目的就是为了保证外部不能随便的存取更改对象的内部属性。
而继承就是指出父类与子类间的关系。父类基本上给定的是一个通用的框架,而子类是在父类基础上加入了自己的特性。这里子类就继承了父类。至于多态是基于继承的概念的,正是由于存在继承关系,这样子类同样可以看成是一种父类,只是它比父类多了一些东西。对象的多态性是指在父类中定义的属性或服务被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个子类中具有不同的语义。
而继承就是指出父类与子类间的关系。父类基本上给定的是一个通用的框架,而子类是在父类基础上加入了自己的特性。这里子类就继承了父类。至于多态是基于继承的概念的,正是由于存在继承关系,这样子类同样可以看成是一种父类,只是它比父类多了一些东西。对象的多态性是指在父类中定义的属性或服务被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个子类中具有不同的语义。