游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2592|回复: 6

请教高手——什么是类?

[复制链接]

7

主题

14

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2006-3-29 17:27:00 | 显示全部楼层 |阅读模式
我是菜菜鸟,刚开始学vb.net。怎么也理解不了类。主要是不知类怎么用。在网上查了好久,结果都不令人满意。请各位叔叔阿姨哥哥姐姐行行好,帮帮我。不胜感激涕零!

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-3-29 20:08:00 | 显示全部楼层

Re:请教高手——什么是类?

类这东西,你要光去看定义是理解不了的,只有在实践中才能真正理解它~
类就像是一类相似东西的定义,如果某个物体是这个类型,那么这个物体就拥有这个类所有的属性和特征。
举个例子:
比如你在编写一个坦克游戏,不管什么型号的坦克,肯定都有一些几本特性,比如会移动,可以开炮,而且有装甲。这样你就定义了一个基础类。但是往往这些基础特性并不能满足所有要求,所以就产生了各种型号的坦克,比如我们现在定义M1A2型坦克,他具有坦克应该有的所有特性,也就是说他继承了坦克这个基础类的特性,并且在这基础上,他还有些扩展属性,比如拥有机枪台之类。现在有了M1A2型坦克的定义(类),就可以开始生产了,生成出来的都具有m1a2型坦克所有属性,不管她叫什么。
在编程中,上面这个例子是这样的:先定义一个类名叫做Tank,作为基础类,然后写好移动、开炮等过程,还有装甲,生命等属性。然后再声明一个M1A2类,继承Tank类,那么首先M1A2就拥有了坦克的几本属性,然后再扩展M1A2的特有功能,比如机枪台开枪的过程。最后定义一个变量为M1A2类,比如叫做abc,那么这个abc就是一辆M1A2型坦克,他具有所有坦克和M1A2型该具有的过程,如移动,开炮等等……
以后要多加一辆M1A2直接申明一个新的变量为M1A2类即可,无须再从写所有过程。

运用类来编程,其实也就是人们所说的面向对象式编程

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2006-3-30 09:09:00 | 显示全部楼层

Re:请教高手——什么是类?

类代表了一种编程思想,先找本书,从第一个你能编译通过的简单类的例程开始,了解了面向对象思想以后,语法哪怕随用随查都没问题。实际上如果你有中文版的MSDN2003,就全齐了。

17

主题

258

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
发表于 2006-3-30 20:23:00 | 显示全部楼层

Re:请教高手——什么是类?

类,是对世间万物的一种高度抽象,由它就可以产生缤纷的世界。

7

主题

14

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2006-4-1 17:11:00 | 显示全部楼层

Re: 请教高手——什么是类?

谢谢各位鼎力相助!小菜真是受益匪浅。最近我又有了一个疑问:我也在学c语言,发现vb.net中的类和c中的结构体很像,那么他们是不是一回事呢? 有什么区别呢?

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2006-4-1 20:26:00 | 显示全部楼层

Re:请教高手——什么是类?

?Structure应该对应的是Type吧。

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-4-1 23:32:00 | 显示全部楼层

Re:请教高手——什么是类?

楼上的Structure是哪儿来的?
to 楼主:
本来类就是一个东西,不管是.net还是c++,类还是类,只是表达或者用法上有点不一样,其他方面没多大区别。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 02:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表