面向对象之编程语言面向对象实现机制

面向对象是具有大方面的含义,不单单涉及在编程过程中的使用面向对象编程语言(OOPL)实现面向对象。而往往由于大家都是程序员的关系,所以很大程度上认为面向对象就是使用面向对象编程语言来编程就是面向对象。这里的认识误区应该是大家包括我自己在初步学习编程的时候容易犯的一个误区。实际上面向对象是一种思想,需要将这种思想在软件开发整个过程中始终使用这种面向对象的思想,指导分析,设计,实现等过程。

 

在面向对象编程语言中有三大机制来实现面向对象。在这里主要阐述的是为何在面向对象编程语言中有这些实现机制,而不单单阐述这些机制如何在编程语言中实现。

封装-隐藏内部实现

在对象被实例化以后,对象实例在运行过程中,对象实例内部会发生某些变化或者对象实例的状态被外部改变,然后对象实例的调用者需要某种机制来获得对象实例的状态,最后把这些输出给客户。

在面向结构的程序方法的时候对象实例会使用大量的代码去判断对象类型,对象的状态,然后确定如何给客户相应。那么对象实例的调用者需要知道对象实例的内部结构。这种机制是与现实世界是不符合的,因为我们不知道另外一个事物的内部结构。比如我们不知道电视机内部是如何工作的。那么应该确定什么样的机制调用对象实例,获得对象的行为呢?一般来讲都是基于接口调用契约(不是编程语言的接口)。那么这里就用到OOPL中的封装方法,去隐藏内部实现。

 

 

继承-复用对象属性和行为

 

多态-扩展子类行为

posted @ 2010-07-14 09:22  richardzeng  阅读(509)  评论(2编辑  收藏  举报