ASPNet开发实验指导03(认识面向对象编程)

ASPNet开发实验指导03(认识面向对象编程)

ID:46610928

大小:93.50 KB

页数:5页

时间:2019-11-26

ASPNet开发实验指导03(认识面向对象编程)_第1页
ASPNet开发实验指导03(认识面向对象编程)_第2页
ASPNet开发实验指导03(认识面向对象编程)_第3页
ASPNet开发实验指导03(认识面向对象编程)_第4页
ASPNet开发实验指导03(认识面向对象编程)_第5页
资源描述:

《ASPNet开发实验指导03(认识面向对象编程)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《基于Asp.Net的Web应用开发》实验指导书编写:李山1实验三:认识面向对象编程1.1实验背景面向对象编程(OOP)目前仍然是我们的主流编程方法。虽然这么说,但是我们需要认清儿个实事:•OOP并未脱离结构化编程(SP),最终逃脱不了顺序、选择、循环范畴。•说起来OOP很接近现实思维,但很多人还不习惯用00方法思考程序设计问题。•我们需要学习的很多技术最终要演变成对OOP的掌握。•我们需要解决的很多高档次问题需要依靠超越OOP的算法实现。这需要我们了解什么是血向対象的编程。从“一句话”、“四种关系”和“四大基本特征”去理

2、解它就行,但永远不要忘了,无论它的概念多么“炫耀”,最终都要老老实实落实到你的面向对彖代码怎么写,并且你写出来的代码重用性有多么高,而且性能没有太人损失这一点上来。一句话:所有东西必须看成是对象,无论是看得见、摸得着的,还是抽象的、需要意会的东西,统统是対象,而且真正在编程的时候,绝大多数的対象是抽象的东西。四种关系是:关联(association)a泛化(generalization)x依赖(dependency)、实现(realization)o关联:“你属于我,我属于你”的关系。“我不存在了,你也不存在了”的关联关系

3、称为“类的组合(Composition)”。“我不存在了,你还存在”的关联关系称为“类的聚合(Aggregation)”。一般地,类的成员变量为关联关系的貝体代码体现。依赖:“你需要我,我需要你”的关系。一般地,方法参数、木地变量、返回值是依赖关系的具体代码体现。泛化:就是继承关系。可以表述成“isa”的关系。实现:“我是抽象的,你是具体的,我们是一脉相承的”的关系。具体地看来,是一种特殊的继承关系一对抽象类的继承实现。有四大特征:抽象(abstract)、封装(encapsulation)s继承(inheritance)

4、>多态性(polymorphism)o抽象性:所有东西都是对象、所有对象都要归“类”。类都有描述特性的特征(属性、字段)和行为(方法、事件)。封装性:对象是一个相对封闭的个体,別人的代码可以访问的属性、字段、方法等把它作为公有的(public):它的子类可以访问属性、字段、方法等作为受保护的(protected);而白己用的属性、字段、方法就作为私有的(private)<>这种有选择的暴露自身特性的方式可以起到“趋利避害”的效果,即对别人“有益的代码”可以暴露出去,对别人“有害的代码”就留为自用。但是什么是“益”、什么是“

5、害”则没有标准了,这需要用辩证和抽象的思维去思考,积累经验,形成自己的一种下意识行为标准,你写出的00代码,才能是高质量的(主要标准是重用性高、效率无损)。从封装性我们也看到“你写的类代码不是你用的,而是准备给别人用的”这一事实。继承性:有的人认为“知识”就是对我们了解的事物进行分类,这是我们认识世界的最基本观念。而且类是有层次的,“大”类包括“小”类。正是因为捉出继承的概念,才使得我们的面向对象编程语言称得上是真正的OOP语言。如果一个编程语言只能冇抽彖性、封装性,那么只能叫做基于面向的编程语言(BOP)。多态性:由于存

6、在继承性,那么来自父类的特性在了类屮作何表现呢?一般情况下是“毫无保留的”被了类继承,还有一种是通过“虚方法”(virnud)被了类继承,这样子类可以改写这些被继承的虚方法。多态性专业的说法是“同一消息发送给不同类型的对象,得到的回应是不同的”。这句话太笼统,落实到代码的话主要就是靠虚方法来体现。当然除了虚方法,还有运算符重载等代码技术体现多态性。对于面向对象的特征可以参考《信息系统分析与设计》教材屮有关“面向对象”章节。也可参考其他的而向对象书籍。仅有而向对象编程的基本概念还不够,述需要学习一些“高手”们的OOP经验。这

7、方血有著名的经典书籍《设计模式》。这木书屮记录了由四位OOP巨匠总结岀来的23种OOP方法,是我们从事OOP工作的人士必须要看的一本书。因为站在“巨人”的肩膀上可以爬得更高、看得更远。在学习OOP的时候最重要的就是建立起面向对象的思维。无论你使用的是C++、C扒Php还是Java等面向对象编程语言,都是力变不离其宗,最后在你眼中看到的这些语言只不过是OO思想的代码体现而已。这方而参考资料见下表:表1OOP方面的参考资料序号技术帮助信息1.C++StanleyB.LippmanBarbaraE.MooJos&LaJoie・C

8、++Primer中文版(第4版)[M].人民邮电出版

9、±.2006.032.C++梅耶著,侯捷译.EffectiveC++改善程序与设计的55个具体做法(中文第三版)[M].电子工业出版社.2006.073.C++你们上课时候用的教材4.C#MSDN:开发工具和语言/VisualStudio文档/Vis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。