第7讲 面向对象编程 (一)

第7讲 面向对象编程 (一)

ID:33934829

大小:964.33 KB

页数:27页

时间:2019-02-28

第7讲 面向对象编程 (一)_第1页
第7讲 面向对象编程 (一)_第2页
第7讲 面向对象编程 (一)_第3页
第7讲 面向对象编程 (一)_第4页
第7讲 面向对象编程 (一)_第5页
资源描述:

《第7讲 面向对象编程 (一)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7讲面向对象编程技术(一)(VERSION1.2)他们总说时间会改变一切,但是你真的应该自己去改变它们。安迪.沃霍尔李英冰副教授武汉大学测绘学院http://ybli.whu.edu.cnybli88@gmail.com1李英冰程序秘方—代码开发的方法和过程Yb.Li配料表操作说明1串程序员将程序员腌泡在培训中。添加语言和目标平台,并用项目经理调味1到2茶匙语言快速地搅拌,直到材料很好地混合在一起1个项目平台添加一些时髦词汇来增加味道1个项目经理均匀地撒上运气,然后放在一个软件烤箱1小撮运气内进行烘烤,一直烤

2、到截止日期1小袋脱水培训取出来,倒在网架上晾干,然后端给顾客各种行业时髦词汇2李英冰主要内容Yb.Li1.面向对象编程基本思想2.构造函数3.析构函数4.继承5.多态3李英冰面向对象编程基本思想Yb.Li结构化程序设计:算法+数据结构=程序面向过程,一个程序是由多个过程(函数)组成面向对象编程(OOP)任何东西在OOP中都是通过对象组织起来面向对象=对象+类+继承+通信对象(Object)是现实世界中事物特征的抽象实体每一类事物都有自己特定的属性和行为对象=数据+作用于这些数据上的操作4李英冰OOP的4个基本特

3、征Yb.Li抽象指对具体问题(对象)进行概括,抽出公共属性和行为并加以描述。抽象包括数据抽象和代码抽象封装把对象的数据(属性)和操作(行为)包装在一个类中。决定哪些属性和行为只用于内部状态,哪些在外部可见。继承一个新类可以从现有的类派生而来。新类继承了现有类的特性,包括一些属性和行为,并且可以修改或增加新的属性和行为,使之适合具体的需要多态性多态性是指类中具有相似功能的不同函数使用同一个名称来实现,并允许不同类的对象对同一消息作出的响应不相同5李英冰2.类与对象Yb.Li为什么要创建类?类是一组具有相同数据对现

4、实世界中的对象建模结构(属性)和相同操作(行为)的对象的集合降低/隔离复杂度将对象的属性抽象为数隔离实现细节据成员(又称成员变量),限制变化所影响的范围将对象的行为抽象为成员函数(又称为方法),并隐藏全局数据对它们进行封装。让参数传递更顺畅对象是类的一个实例。让代码更易于重用对象和类的关系相当于把相关操作放到一起变量和变量类型的关系6李英冰类的声明Yb.Li类的声明class-modifersclassclassname{……}class-modifers为类的修饰符:New;Public;Protected;

5、Internal;Private;Abstract;Sealed合理设定成员的访问控制权限(公有/私有成员)7staticvoidMain(string[]args)李英冰类的示例Yb.Li{Timetm=newTime();classTimetm.SetTime(11,23,36);Console.Write("Thetimeis:");tm.ShowTime();{}inthour,minute,second;publicvoidSetTime(inth,intm,ints){hour=h;minute=m;second=s;

6、}publicvoidShowTime(){Console.WriteLine(“{0}:{1}:{2}”,hour,minute,second);}}8李英冰说明Yb.Li成员函数和数据成员让类中子程序的数量尽可能少减少类中所调用不同子程序的数量对其他类的子程序的调用要尽可能少尽量减少类与类之间合作的范围应该避免的类避免创建万能类消除无关紧要的类避免用动词命名的类9李英冰3构造函数Yb.Li构造函数是一种特殊的成员函数,它是在创建对象时(声明或new动态创建)系统自动调用的成员函数构造函数的名称与类名相同构

7、造函数没有明确的返回类型。构造函数总是Public类型的如果可能,应该在所有的构造函数中初始化所有的数据成员10李英冰构造函数的示例Yb.LiclassmyClass{publicstrings;publicmyClass(){s="youarewelcome“;}}……staticvoidMain(string[]args){myClassc1=newmyClass();Console.WriteLine(c1.s);}11李英冰创建用于计算点、矩形、梯形、圆的面积四个构造Yb.Li函数的类staticvoidMain(str

8、ing[]args)classArea{{publicdoublemyArea=0;Console.WriteLine("点面积为:");publicvoidshowResult()AreaptArea=newArea();{Cons

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

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

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