【急急急】有那个高手能不能告诉我“什么是面向对象三大特征的行为特征”,面向对象三大特征的行为特征包含什么??

什么是行为对象?_百度知道面向对象的变成的三大特征是什么?_百度知道您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注
支持屏幕和图形函数...
<a href="/b/3488230.html" target="_blank" class="trackEventQuestion" trackType="PC_问题详细页" trackAction="跳转" trackDes="PC_大家还关注" title="这段VC(API)程序怎么不能显示文件内容啊? LRESULTFARPASCALWndProc(HWNDhwnd,UINTmessage,WPARAMwparam,LPARAMlparam){chartext[100],buff[500];unsignedlongfilesize=0,*hfilesize,nBytesToRead,nBytesRintbRstaticHPENPAINTSTRUCTHDCHANDLEcharfilename[]="E:\\Downloads\\sdfd.txt";switch(message){caseWM_ (filename,GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);hpen=CreatePen(PS_SOLID,1,RGB(255,0,0));return0;caseWM_ (hwnd,&ps);SelectObject(hdc,hpen);filesize=GetFileSize(hfile,hfilesize);sprintf(text,"filehandle=%xhfilesize=%p%ufilesize=%u\0",hfile,hfilesize,hfilesize,filesize);TextOut(hdc,100,100,text,strlen(text));//Attemptasynchronousreadoperation.bResult=ReadFile(hfile,buff,nBytesToRead,&nBytesRead,NULL);//Checkforendoffile.if(bResult&&nBytesRead==0){//we'reattheendofthefileTextOut(hdc,120,120,TEXT("Weareattheendofthefile"),30);}for(i=0;i这段VC(API)程序怎么不能显示文件内...关于类、对象、方法、行为、事件、属性、封装、继承、还有那个多态等概念的解释
举个例子再从宏观上解释一下:类,对象,方法,属性,事件的概念。
假如我们地球上的所有人是一个类,这个类的名称为People,那么地球上的每一个人就是People类的一个对象,每个人都有“嘴”等属性,也有“骂人”的方法,当然“骂人”是通过“嘴”骂的,那么是不是就可以说“骂人”的方法是属性“嘴”的方法了呢?非也!属性和方法的概念是地位平等的,不能说方法是属性的方法,方法只能说是类的方法,而属性同样只能说是类的属性。然后,你虽然有了“骂人”的方法,那你是不是就能见人就“骂”啊?你可以想象一下你这样做的下场:)那么我们什么时候才能“骂”呢,当然是“别人先骂我们”这个事件发生的时候了。好的,在这里,“别人先骂我们”就是一个事件,它触发了People类中某个对象,也是某个人“骂人”的方法。虽然“我们骂别人”和“别人骂我们”都是动作,但不同的是,“别人骂我们”是对象外部的,是事件;而“我们骂别人”是对象的方法,是对象自己的动作,是内部的。现在你明白了对象和事件的区别了吧。
简单来说,类就是对一个事物抽象出来的结果。比如人可以作为一个类。一般来说,一个类具有成员变量和成员方法。成员变量相当于属性,比如‘人’具有的变量有胳膊,手脚等。而成员方法是该类能完成的一些功能,比如‘人’可以说话(talk),行走(walk)等。&
对象,如果说类是一个抽象概念,那么对象就是具体对象。比如我们说‘人’就是一个抽象概念,但是具体到某个人,比如你,我,他,就是一个‘人’对象。&
封装,简单理解就是把一系列的数据放在一个类中,还用前面的例子,如果形容一个人,我们可以用身高(hight),体重(weight)等来描述,如果不封装,我们需要3个变量来形容它。在面向对象中,可以用一个Person类封装这些数据,Person具有3个成员变量,分别是height,weight。使用的时候,每当生成一个这样的类的对象,就具有这3个属性。&
继承,如果B类继承A类。那么B类将具有A类的所有方法,同时还可以扩展自己独有的方法和属性。还用人做例子。‘人’是父类,那么‘男人’,‘女人’都是继承自‘人’。也就是说,不论‘男人’,‘女人’,都具有‘身高’,‘体重’这两个属性,同时,他们可以有自己独有的属性,比如‘女人’可以有一个‘三围’属性-_-!&
多态,在java中,同一个方法可以有多种不同的表现形式,具体说来分为重载和重写。重载就是一个方法的方法名相同而所具有的参数列表不同。比如:&
public String talk(String content);
//参数是String,&
public String talk(String content, int number)
//参数是2个,String和int&
重载则是子类在继承父类的同时,重新实现了父类的某个方法。重载的方法名和参数都必须完全相同。&
public String talk(String content)
System.out.print(content);&
子类继承该类,所以也具有talk这个方法,他重新定义了该方法的实现&
public String talk(String content)
System.out.println("Hi" +
content);&
抽象类和一般类的最大区别,就是不能实例化一个对象,但是它可以被继承。&
接口则是指定义了方法的名字,而不定义他的实现。方法的具体实现由其实现类去完成。比如&
public interface mp3{&
public void play();&
public void pause();&
这就定义了一个mp3的接口,任何其他类都可以实现这个类,但是实现这个接口就必须实现这个接口所定义的方法。换句话说,任何实现mp3的类,都必须具有play()和pause()的方法,比如&
public class IPod implements
public void play(){&
//具体实现&
public void pause(){&
//具体实现&
C#中没有行为这个概念 而事件,方法,函数则有&
事件,指的是一个类有可能会引发的一个调用,任何类都可以向一个有事件的类注册这个事件的监听,那么当事件引发时,类就会受到事件通知,从而响应。&
方法,指的是一个类的一些操作,比如一个Car类他有一个Move的移动方法,表示这个车子可以移动的操作(Operation)。
函数,在C#里没有太严格的定义,我的理解是静态方法都可以称之为函数,因为函数一般不和类的实例相关,而静态方法具有这个特性。函数一般代表一个子操作,他会执行一些计算或者其他纯代码性的过程,比如Math类具有很多算数学的函数,比如计算三角的函数。
嗯。。。如果只想了解类,那看看thinking in C++把类怎么来的说的很明白&
若想了解下OO的概念,我还是觉得先弄清楚对象的概念就很容易理解类了&
就C++来说,类就是结构内部可以写函数,把struct改成class关键字就可以成为类了。&
不知道这么说你是否明白,还是理解下面向对象的概念吧,搞明白对象就容易搞明白类了&
我来继续说吧&
1。类是可定义的,zhangsilong那个class
bed{。。}类就是个类了。你也可以自己写的&
定义的是一个类,把一个类实例话就生成了一个对象,这样讲你能明白么?类是一种类型,就好像struct的类型差不多的。对象就是你从这个类生成的变量。你用的是一个对象变量,而这个对象变量是根据你定义的类来生成的。&
就好像你说的小孩儿床是对象,而这个对象根据床这个类来生成的一样&
2。子类是指从另外一个类派生出来的类,一般术语叫做继承。&
比如你还需要一个婴儿床的类那么可以用婴儿床类来继承床这个类,这样婴儿床这个类就有了床这个类的公有和保护的属性和方法。但婴儿床是能摇动的,你得写个让婴儿床摇动的方法。这样从婴儿床这个类生成的变量也就具备了摇动的功能了。
用中文写个例子:&
婴儿床 bbbed = new 婴儿床();&
bbbed.摇动();&
bbbed是某个婴儿床对象,用这个对象.摇动()这么个方法实现他的摇动的功能。可以理解么?&
第四,你说的没错误,国家类,这个类规定了国家都有什么属性以及职能权利和义务,中国是这个类某个实例化对象那些默认的职能权利义务初始化就有了。。。,执行某项国家权利的时候就是使用中国.执行权利()这样的方法,中国跟别的国家还有除尺寸外的不同,例如是常任理事国,还有一票否决权,这个就得需要你从国家类中继承一个常任理事国类,把这个一票否决权的属性和方法写进去,然后在从这个常任理事国类中去生成中国对象来。&
可以理解了么?
一张床,床有长、宽、高,这是床的属性,床能用来睡觉。这是床的功能。&
我们把床抽象出来以后就是一个类了,&
抽象成一个床类。&
void 睡觉();&
我们现看不到床,是因为我们没有给你床定义一个对象,也就是实体。&
床 小孩床;&
则我们可以给出:&
小孩床.长(属性)=1.5米;&
小孩床.宽(属性)=0.75米;&
小孩床.长(属性)=0.5米;&
我们可以实现让小孩:&小孩床.睡觉(方法)();
对象object是一些相关的变量和方法的软件集。软件对象经常用于模仿现实世界中我们身边的一些对象。对象是理解面向对象技术的关键。你在学习之前可以看看现实生活中的对象,比如狗、桌子、电视、等等。你可以发现现实世界中的对象有两个共同特征:它们都有状态和行为。比如狗有自己的状态(比如名字、颜色、生育以及饥饿等等)和行为(比如摇尾巴等等)。同样自行车也有自己的状态(比如当前档位、两个轮子等等)和行为(比如刹车、加速、减速以及改变档位等等)。
  而软件对象实际上是现实世界对象的造型,因为它同样有状态和行为。一个软件对象利用一个或者多个变量来维持它的状态。变量是由用户标识符来命名的数据项。软件对象用它的方法来执行它的行为。方法是跟对象有关联的函数(子程序)。
  你可以利用软件对象来代表现实世界中的对象。你可能想用一个动画程序来代表现实世界中的狗,或者用可以控制电子自行车的程序来代表现实世界的自行车。同样你可以使用软件对象来造型抽象的概念,比如,事件是一个用在GUI窗口系统的公共对象,它可以代表用户按下鼠标按钮或者键盘上的按键的反应。
如图1是一个软件对象的公共可视代表。
  软件对象的状态和行为都可以用在对象中的变量和方法来表达。构造现实世界的自行车的软件对象要有指示自行车的当前状态的变量:速度为20mph,它的当前档位为第三档。这些变量就是我们熟知的实例变量,因为它们包含了用于特殊自行车对象的状态,并且在面向对象技术中,特殊的对象称为实例。
如图2所示,是作为软件对象的自行车造型。
除了变量,软件自行车同样有用于刹车、改变踏板步调以及改变档位的方法。这些方法就是熟知的实例方法因为它们检查或者改变特殊自行车实例的状态。
  以上的对象图显示了对象的变量组成了圆心部分。方法处在变量的四周并且在程序中从其它对象隐藏了对象的核心。用保护方法的方法来包装对象的变量称为封装。这个对象图就是对象理想的表示法,也是面向对象系统设计者努力的最后目标。然而这并不是全部的内容。通常,出于某种现实的理由,对象可能暴露它的一些变量或者隐藏一些方法。在JAVA编程语言中,一个对象可以为变量和方法指定四种访问等级中的一种。这个访问等级决定哪个对象和类可以访问变量或者方法。在JAVA中访问变量和方法可以转换为控制访问类的成员函数。封装相关的变量和方法到一个简洁的软件集是一个简单而且强有力的方法,它为软件开发者提供了两个主要好处:
模块性:对象的源代码可以独立于其它的对象源代码来进行编写和维护。同样,对象可以很容易地在系统中传递。你可以将你的自行车对象给其它的对象,它仍然可以正常工作。
信息隐藏:一个对象如果有一个公共的界面,那么其它的对象就可以与之进行通讯。这个对象可以维护私人的信息和方法,它可以在任何时候被改变而不影响依耐于它的其它对象。所以你不必理解自行车中齿轮的机理就可以使用它。
为什么创建自己的对象?
自定义对象本身不会自动地在代码中加入新功能。通常情况下,为达到相同的效果,可以使用另一种不涉及创建对象的方法。这些对象所能做的就是使复杂的操作看起来更简单,使复杂的应用程序更加具有自我说明性和可维护性,使需要几小时才能编完代码的程序对您自己和其他程序员而言可重复利用性更强。实际上,创建自定义对象是一种将代码包装起来供其他
Microsoft& Visual Basic& for Applications (VBA)
程序员使用的完美方法,因为与其指出如何调用您的代码,不如使他们能象使用任何内置对象一样使用您的自定义对象。
您可以创建完整的自定义对象模型,这些模型在后台有复杂的代码,但显示给程序员的应只是相对简单和直观的对象语法。事实上,这就是所有
Microsoft& Office 和 VBA
对象模型为您所做的一切,它们把复杂的操作包装在易于使用的对象、方法、属性和事件中。例如,当您将 Microsoft& Excel
对象的 Visible 属性设为 False 时,不必担心 VBA、Excel 和 Windows
如何协作以隐藏该对象。您可以把精力集中在创建应用程序这一更高目标上。
简单性和可重复利用性自然要有代价。创建自定义对象和对象模型需要一种思考方法,这种方法比起您在 VBA
中已经习惯的那种编程思考方法是不同的,甚至可能是革命性的不同。掌握它会花一些时间。但从长远来看,用对象编代码可以提高效率,磨练设计技巧,更容易重复利用代码,从而能使您成为更好的程序员。
类(Class)实际上是对某种类型的对象定义变量和方法的原型。
类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建多个相同类型的对象。
可以把类看作“理论上”的对象,也就是说,它为对象提供蓝图,但在内存中并不存在。从这个蓝图可以创建任何数量的对象。从类创建的所有对象都有相同的成员:属性、方法和事件。但是,每个对象都象一个独立的实体一样动作。例如,一个对象的属性可以设置成与同类型的其他对象不同的值。
Microsoft(r) Visual Basic(r) for Applications (VBA)
工程中可包含两种不同类型的类模块:没有任何一种与其关联的用户界面的基本类模块;与窗体或其它组件关联的类模块。例如,与窗体相关联的类模块,它们和基本类模块相同,只是它们只有在那个窗体存在于内存中时,才存在于内存中。拥有相关联的类模块的对象的示例是“用户窗体”、Microsoft(r)
Access 窗体和报表、Microsoft(r) Word 的 ThisDocument 对象,Microsoft(r) Excel
的 ThisWorkbook 和 SheetN 对象。
在现实世界中,你经常看到相同类型的许多对象。比如,你的自行车只是现实世界中许多自行车的其中一辆。使用面向对象技术,我们可以说你的自行车是自行车对象类的一个实例。通常,自行车有一些状态(当前档位、两个轮子等等)以及行为(改变档位、刹车等等)。但是,每辆自行车的状态都是独立的并且跟其它自行车不同。
当厂家制造自行车的时候,厂商利用了自行车共有的特性来根据相同的蓝图制造许多自行车。如果制造一辆自行车就要产生一个新蓝图,那效率就太低了。
在面向对象软件中,同样地,可以让相同种类地许多对象来共有一些特性,比如矩形、雇员记录、视频夹等等。就象自行车制造商人,你可以利用相同种类的对象是相似的事实并且你可以为这些对象创建一个蓝图。对对象的软件蓝图叫做类。
自行车的类需要定义一些实例变量来包括当前档位、当前速度等等。这个类将为实例方法定义和提供实施方法,它允许骑车者改变档位、刹车以及改变脚踏板的节奏,
当你创建了自行车类以后,你可以从这个类创建任意个自行车对象。当你创建了一个类的实例后,系统将为这个对象和的实例变量分配内存。每个实例将给所有实例变量的副本定义在类中。如图2所示:
除了实例变量,类还要定义类的变量。类变量包含了被类所有实例共享的信息。比如,假设所有的自行车有相同的档位数。在本例子中,要定义一个实例变量来容纳档位数。每一个实例都会有变量的副本,但是在每一个实例中数值都是相同的。在这样的情况下,你可以定义一个类变量来包含档位数,这样所有的类的实例都共享这个变量。如果一个对象改变了变量,它就为改变那个类的所有对象。类同样可以定义类方法。你可以直接从类中调用类方法,然而你必须在特定的实例中调用实例方法。
我们以Person类为例:&
Class Person&
//人通常都有鼻子,眼睛等器官,这就是Person类的属性&
private string
eyes="";//建立私有成员&
public string Eyes&
set{eyes=}&
get{return
}此处为eyes的访问器,用于对eyes赋值和取值&
//下面将声明一个方法,也称其为函数&
//眼睛通常是用来看的,所以我们针对眼睛建立一个"看"的方法&
public void Look()&
//在这里可以写看的一些方法,比如如何看,看什么等等&
这就是一个"人"类,描述了"人"这个事物的大体特征&
至于对象,就是将"人"具体到某一个人.&
比如小王,&
则可写成Person xiaowang=new
Person();//这个过程叫做实例化&
这样就可以得到小王这个对象了.&
我们可以通过小王这个对象来描述他自己的特征.&
如xiaowang.Eyes="big";//描述小王是大眼睛&
xiaowang.look()//表示小王在看
类:就是类别,比如“人”是一个类,“神”是一个类。&
属性和方法:都是“类”的两种表现,静态的叫属性,动态的叫方法。比如“人”类的属性有姓名、性别、身高、年龄、体重等等,“人”类的方法有走、跑、跳等等。&
对象:就是实体的一个对象,都属于某个类,或者是某个类的实体。比如“马克思”是个对象,“姚明”也是个对象,当然具体的对象具有类的所有方法和属性。&
函数是个程序设计的专有的概念,以C为代表的语言里面,函数可以有返回值(数学含义的函数)也可以没有返回值,在以PASCAL为代表的语言中,函数必须有返回值,没有返回值的叫过程。
方法和函数可以理解为一个东西 是类的成员函数&
属性就是类的数据成员&
只是叫法不一样&
比如说class a{&
void aaa(){}&
&a是类 aa是属性 aaa是方法
函数 aaaa是对象
对象,你就理解成窗体,控件只类的都是就行了。&
属性,就是对象具有的性质,如窗体的Picture属性。&
方法,对象所能做的动作,如窗体的Print,Cls,End方法等。&
事件,如窗体的单击事件,双击事件等这些都是。
对象是具有某些特性的具体事物的抽象,建立一个对象后,其操作通过与该对象有关的属性,事件和方法来描述。&
属性是指对象所具有的性质,不同的对象具有不同的属性。&
事件泛指能被对象识别的用户操作动作或对象状态的变化发出的信息,也即对象的响应。&
方法是指对象本身所具有的、反映该对象功能的内部函数或过程,也即对象的动作。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。以下试题来自:
填空题类是对象的集合,它包含了相似的有关对象的特征和行为方法,而______是类的实例。 参考答案对象
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 参考答案属性2A.末记录B.首记录C.末记录的后面D.首记录的前面3A.LEFT("FoxPro",3)与SUBSTR("FoxPro",1,3)B.YEAR(DATE())与SUBSTR(DTOC(DATE())7,2)C.TYPE("36-5*4")与TYPE(36-5*4)D.假定A="This",B="is a string",A-B与A+B4A.3.141B.3.142C.3.140D.3.05A.3B.4C.8D.9
热门相关试卷
最新相关试卷

我要回帖

更多关于 面向对象三大特征 的文章

 

随机推荐