在java中经常提到的两个词是类与对象,实质上可以将类看作是对象的载体,它定义了对象所具有的功能,学习java语言必须掌握类与对象,这样可从深层次去理解java这种面向对象语言的开发理念。
1.对象
对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个封装,是构成系统的基本单位,采用计算机语言描述,对象是由一组属性和对这组属性进行操作的一组服务构成。 对象包含三个基本要素,分别是对象标识、对象状态和对象行为。每一个对象必须有一个名字以区别于其他对象,这就是对象标识;状态用来描述对象的某些特征;对象行为用来封装对象所拥有的业务操作。 举例说明,对于教师李明而言,包含性别、年龄、职位等个人状态信息,同时还具有授课的行为特征,那么李明就是封装后的一个典型对象。
2.类
类是现实世界中实体的形式化描述,类将该实体的数据和函数封装在一起。类是封装对象的属性和行为的载体,反过来说,具有相同属性和行为的一类实体被称为类。类的数据也叫属性、状态或特征,它表现类静态的一面。类的函数也叫功能、操作或服务,它表现类动态的一面。 例如:李明是一名教师,也就拥有了教师的特征,这个特征就是教师这个类所特有的,具体而言,共同的状态通过属性表现出来,共同的行为通过操作表现出来。
3.封装
封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。例如,用户使用计算机时,只需要用手敲击键盘就能实现一些功能,无需知道计算机内部是如何实现的,这就体现了封装的特点。
4.继承
继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的特征(attributes)和能力(operations),继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C++允许多继承。 假设类B继承类A,即类B中的对象具有类A的一切特征(包括属性和操作)。 类A称为基类或父类或超类,类B称为类A的派生类或子类,类B在类A的基础上还可以有一些扩展。
5.多态
多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态性使得一个属性或变量在不同的时期可以表示不同类的对象。之前了解了父类和子类的概念,其实将父类对象应用于子类的特征就是多态。
上面提到的这些词语可能有点抽象,还需要大家反复琢磨,理解透彻才能更好地提高编程能力。