Java-对象和类系列1

  1. 面向对象程序概述

面向过程编程首先要确定如何操作数据(算法),再决定如何组织数据结构

而OOP(object-oriented programming)面向对象调换了这个次序,将数据放在第一位,然后再考虑操作数据的算法

面向过程的开发思想比较适合一些规模较小的问题,面向对象更加适合解决规模较大的问题。

1.1面向过程与面向对象的程序设计对比

2

类是构造对象的模板或蓝图,可以将类想象成制作冰淇淋的模具,冰淇淋就是对象。由类构造(construt)对象的过程称为创建类的实例(instance)。

3.封装(encapsulation)

也称为数据隐藏,从形式上看:封装是将数据和行为组合在一个包中,并对对象的使用者隐藏具体的实现方式。对象中的数据成为实例字段(instance field),操作数据的过程称为方法(method)。作为一个类的实例,特定对象都有一组特定的实例字段值。这些值的集合就是这个对象的当前状态,无论何时,只要在对象上调用一个方法。它的状态就有可能发生改变。

实现封装的关键在于,绝对不能让类中的方法,直接访问其他类的实例字段程序只能通过对象的方法与对象的数据实现交互。封装给对象赋予了“黑盒”特征,这是提高重用性和可靠性的关键。这意味着一个类可以完全改变存储数据的方式,只要仍旧使用同样的方法操作数据,其他对象就不会知道也不关心这个类所发生的变化。

OOP的另一个原则让用户自定义Java类变得更为容易:可以通过扩展其他类来构建新的类。事实上,在Java中,所有类都源于一个神通广大的超类--Object.所有其他类都扩展自这个object类。

4.继承

在扩展一个已有的类时,这个扩展后的新类具有被扩展类的全部属性和方法,只需要在新类中提供适用于这个新类的新方法和新数据字段。通过扩展一个类来建立另外一个类的过程称为继承(inheritance)。

5.对象

要想使用面向对象的,一定要清楚面向对象的三个主要特征:

对象的行为:可以对对象完成哪些操作,或者可以对对象应用哪些方法?

对象的状态:当调用那些方法时对象如何响应?

对象的标识:如何区分具有相同行为与状态的不同对象。

因为如果像Visual basic一样,用一个内置的类型,它的适应性会有一定的局限性。有的地区习惯用年/月/日表示时间;有的地区则习惯用日/月/年来表示。处理不好会使语言陷入混乱。但是在Java语言中如果类设置的不完善,其他程序员就可以自主编写自己的类。

全部评论

相关推荐

投递华为等公司10个岗位 >
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务