类和对象的概念

Jwater 2003-10-16 05:48:49
我以前用的是Pb编程,可是到现在为止,我总觉得,我所写的程序总是觉得并不是真正的面向对象,整个工程做下来,得反复修改许多次,弄的自己很累。最近开始接触Vb.Net,在其中我感觉它对对象和类的概念理解似乎更加广阔(不好意思,口才不行,希望大家能明白我的意思),可是我对类和对象的概念总是弄不清楚,我不知道是否是我对于编程的知识了解的不够全面,还是怎么回事,希望各位前辈能够给我解释一下类和对象到底是什么,或是给我推荐一些好的网站或资料。谢谢了!
...全文
196 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
NoReady 2003-10-23
  • 打赏
  • 举报
回复
对像是类的实例
就像是“人”这一个类,而具体的“小王”就是对像,具有相同的状态和行为的对像可抽像为一类
Jwater 2003-10-23
  • 打赏
  • 举报
回复
谢谢各位朋友的指点,我还想问诸位一个问题:如果遇到一个现的项目,怎么去做呢
gabrielyang 2003-10-20
  • 打赏
  • 举报
回复
地铁是一个类 而1号线地铁是一个对象
rgbcn 2003-10-17
  • 打赏
  • 举报
回复
苹果是一个类,而放在桌上的那个苹果则是一个对象
rgbcn 2003-10-17
  • 打赏
  • 举报
回复
类是具有相同操作功能和相同的数据格式(属性)的对象的集合。类可以看作抽象数据类型的具体实现。抽象数据类型是数据类型抽象的表示形式。数据类型是指数据的集合和作用于其上的操作的集合,而抽象数据类型不关心操作实现的细节。从外部看,类型的行为可以用新定义的操作加以规定。类为对象集合的抽象,它规定了这些对象的公共属性和方法;对象为类的一个实例。苹果是一个类,而放在桌上的那个苹果则是一个对象。对象和类的关系相当于一般的程序设计语言中变量和变量类型的关系。


  面向对象的编程方法具有四个基本特征:

1.抽象:
  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。

2.继承:
  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

3.封装:
  封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

4. 多态性:
  多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

  面向对象程序设计具有许多优点:

开发时间短,效率高,可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。

应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的影响更加局部化。

menuvb 2003-10-17
  • 打赏
  • 举报
回复
类是用来创建对象的样板而对象只是类的一个实例。

喜欢这句话.呵呵.
rock29 2003-10-17
  • 打赏
  • 举报
回复
和JAVA的概念差不多呀!
lz305 2003-10-17
  • 打赏
  • 举报
回复
车是一个类,火车,公车就是类中的对象
smileoceanhhy 2003-10-16
  • 打赏
  • 举报
回复
类就是好像是个宏观的定义,对象就是这些定义的具体事物。
楼上概括的很好,类是数据类型,对象就是变量
lzg530 2003-10-16
  • 打赏
  • 举报
回复
vb.net是面向对象的编程
对象是客观世界中的任何事物或人们头脑中的各种概念在计算机程序中的抽象表示,或者说,是现实世界中个体的数据抽象模型,是面向对象程序设计的基本元素。我们生活在一个对象的世界李,比如书,钢笔都是对象。每个对象都有两个共同特点;都有自己的状态;都只有自己的行为。
类就是对具有相同数据和相同操作的一组相似对象的定义,也既是对具有相同属性和行为的一组相似对象的抽象。
类是用来创建对象的样板而对象只是类的一个实例。
ilian 2003-10-16
  • 打赏
  • 举报
回复
可以简单的解释:
类是数据类型;对像是变量。
更好的理解可看看C++书籍。
gabrielyang 2003-10-16
  • 打赏
  • 举报
回复
类就象模子,对象就是模子里面灌出来的东西

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧