- 积分
- 8289
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2007-3-24
- 精华
|
6#
发表于 2009-12-3 21:10:49
|
只看该作者
来自: 江苏苏州 来自 江苏苏州
这个问题不知道是了解的人少,还是论坛上会编程序的人少,总之感兴趣的人少,只好我来自圆其说了。
从分类学上讲,马是一个类,白马或者是马下面的一个分类,这个类属于马但必须是长着白色的毛的马,其他颜色的马不属于白马这个子类;或者是一匹具体的马,就像曹操的坐骑。类是一个抽象概念,具有相同属性的实体都属于这个类,子类是类里面包含某些其他同类不同的特殊属性的一个群体,子类和类一样是一个抽象概念,不过加入了特殊属性要求。如果按照这个定义去看,白马的确不是马,因为无论是子类意义下的还是实体意义下他们都是不同的。
面向对象语言里,类可以继承,产生子类,比如马这个类通过添加白色这个属性就可以产生新的类,即马的子类白马。马这个类可以定义自己的对象(实例),白马也可以定义自己的对象(实例),这些对象(实例)是可以操作的,但是无论类还是子类本身是不能操作的。
面向对象的语言通过继承很容易构造出新的类,只要通过添加或者改变或者舍去一些类中的属性就可以实现。
游戏“红警”里的所有物件我都可以通过改变属性来得到,只要给定不同的属性值就可以办到。例如移动速度,房子树为0,士兵为3,坦克为10;地面也可以通过改变属性来影响了移动物体的速度。这里房子是对象,树是对象,坦克也是对象,炮弹也是对象,不过就是具有不同的属性和属性值而已。 |
评分
-
查看全部评分
|