黑马程序员技术交流社区

标题: 什么是类 [打印本页]

作者: hoshan1    时间: 2015-10-3 11:07
标题: 什么是类
类把一类对象的成员函数和方法封装起来,使用起来很方便。那么,什么是类呢?要理解类,我们先来了解"对象"的概念,因为类就是用来创建对象的模板,它包含了被创建的对象的状态描述和方法定义。
    我们可以把长虹牌电视机看成是一个对象。我们不必关心电视机里面的集成电路是怎样的,也不用关心电视机的显像管的工作原理,我们只需要知道电视机的遥控器上提供了对这台电视机的什么操作,比如选台、调节色彩、声音等。这样,我们虽然不知道电视机内部是怎么工作的,但我们可以使用这台电视机。听起来这跟编程没什么关系,但面向对象的思想正是与它类似:对象,对外只提供操作该对象的方法,内部的实现对外是隐藏的。我们把这种技术叫做数据隐藏。这样,程序员不必了解一个对象内部是怎么实现的,但可以很方便地使用这个对象。
    类,就是对象的模板。比如,电视机是一个类,而某一台电视机就是这个类的一个对象,也叫一个实例。
    我们前面使用的String类,虽然我们不知道,也不必知道里面的实现细节,但我们只要知道他的操作方法,就可以很方便地使用它。这样,对别的程序员编写的程序,我们可以很方便地拿来使用,从而提高软件的复用程度和编程的效率。
    比如,我们构造一个类:TV,然后对外提供一些对它的操作方法,选台 selectChannel( )等。然后用这个类创建一个对象:TV kongKai;然后就可以这样操作这台电视: kongKai.selectChannel。
类的另一个特性,也是它的一个大好处,是继承。继承的概念类似于这样一种表达:电视是一种电器。如果我们有一个电器类,那么,我们说,电视机类继承了电器类。继承有什么好处呢?设想电器类有一些属性,比如工作电压,功率,有些一些方法,比如:打开 open( ), 关闭:close( )。这时候,如果电视类继承了电器类,电视类就自动拥有了电器类的这些属性和方法,而不用再自己重写一遍(当然,如果想重写,也可以,我们把这种技术叫做重载)。这样做有什么好处呢?最明显的好处就是减轻编程的工作量。假设我们有令一个类:VCD类,它也继承了电器类,对于打开关闭等,同样不用重新编写。

作者: xiaozhou001    时间: 2015-10-3 11:41
额,老师说类就是对现实生活中事物的描述,我感觉这句话很难懂
作者: Arron    时间: 2015-10-3 17:53
学习了 谢谢啦!!~
作者: pengwei1989    时间: 2015-10-4 17:13
说的挺清楚的
作者: yuzhouyichen    时间: 2015-10-4 17:45
xiaozhou001 发表于 2015-10-3 11:41
额,老师说类就是对现实生活中事物的描述,我感觉这句话很难懂

是对现实生活中具体事务的抽象,就是概念化
作者: 弗人    时间: 2015-10-4 18:14
个人感觉类就是一些相似事物,相似功能的集合(模块)。
作者: iverchen    时间: 2015-10-4 22:06
看课本讲到面向对象的时候就知道了

作者: 往事如风555    时间: 2015-10-4 22:14
谢谢分享
作者: 潘_洋    时间: 2015-10-4 22:18
感谢分享!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2