《c面向对象基础》ppt课件

《c面向对象基础》ppt课件

ID:26890685

大小:373.51 KB

页数:80页

时间:2018-11-29

《c面向对象基础》ppt课件_第1页
《c面向对象基础》ppt课件_第2页
《c面向对象基础》ppt课件_第3页
《c面向对象基础》ppt课件_第4页
《c面向对象基础》ppt课件_第5页
资源描述:

《《c面向对象基础》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章面向对象编程基础3.1面向对象编程概念在面向对象程序设计技术中,对象是具有属性和操作(方法)的实体。对象的属性表示了它所处的状态;对象的操作则用来改变对象的状态达到特定的功能。对象有固定的对外接口,它是对象与外界通信的通道。类是在对象之上的抽象,它为属于该类的全部对象提供了统一的抽象描述。所以类是一种抽象的数据类型,它是对象的模板,对象则是类的具体化,是类的实例。面向对象的三个特征:1.封装所谓“封装”,就是用一个框架把数据和代码组合在一起,形成一个对象。在C#中,类是支持对象封装的工具,对象则是封装的基本单元。2.继承继承是父类和子类之间共享数据和方法的机制,通常把父类称

2、为基类,子类称为派生类。如果一个类有两个或两个以上的直接基类,这样的继承结构被称为多重继承或多继承。C#通过接口来实现多重继承。接口可以从多个基接口继承。3.多态性在面向对象编程中,多态是指同一个操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态性有两种,一种是静态多态,一种是动态多态。3.2类类就是一种数据结构,它定义数据和操作这些数据的代码。3.2.1类的声明语法形式:[属性集信息][类修饰符]class类名[:类基]{[类主体]}其中:属性集信息——是C#语言提供给程序员的,为程序中定义的各种实体附加一些说明信息,这是C#语言的一个重要特征。类修饰符——可

3、以是表3.1所列的几种之一或是它们的有效组合,但在类声明中,同一修饰符不允许出现多次。表3.1类修饰符修饰符作用说明public表示不限制对类的访问。类的访问权限省略时默认为publicprotected表示该类只能被这个类的成员或派生类成员访问private表示该类只能被这个类的成员访问internal表示该类能够由程序集中的所有文件使用,而不能由程序集之外的对象使用new只允许用在嵌套类中,它表示所修饰的类会隐藏继承下来的同名成员abstract表示这是一个抽象类,该类含有抽象成员,因此不能被实例化,只能用作基类sealed表示这是一个密封类,不能从这个类再派生出其他类。显然

4、密封类不能同时为抽象类3.2.2类的成员类的定义包括类头和类体两部分,其中类体用一对大花括号{}括起来,类体用于定义该类的成员。语法形式:{[类成员声明]}类成员由两部分组成,一个是类体中以类成员声明形式引入的类成员,另一个则是直接从它的基类继承而来的成员。类成员声明主要包括:常数声明、字段声明、方法声明、属性声明、事件声明、索引器声明、运算符声明、构造函数声明、析构函数声明、静态构造函数、类型声明等。1.常数声明语法形式:[属性集信息][常数修饰符]const类型标识符=常数表达式[,…]其中:常数修饰符——new、public、protected、internal、priv

5、ate。类型——sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、string、枚举类型或引用类型。常数表达式的值类型应与目标类型一致,或者通过隐式转换规则转换成目标类型。例如:classA_const{publicconstintX=10;constdoublePI=3.14159;//默认访问修饰符,即约定为privateconstdoubleY=0.618+3.14;}常数声明不允许使用static修饰符,但它和静态成员一样只能通过类访问。例如:classTest{publ

6、icstaticvoidMain(){A_constm=newA_const();Console.WriteLine("X={0},PI={1},Y={2}",A_const.X,A_const.PIA_const.Y);}}2.字段声明语法形式:[属性集信息][字段修饰符]类型变量声明列表;其中:变量声明列表——标识符或用逗号“,”分隔的多个标识符,并且变量标识符还可用赋值号“=”设定初始值。例如:classA{intx=100,y=200;floatsum=1.0f;}字段修饰符——new、public、protected、internal、private、static、

7、readonly、volatile。【例3.1】通过构造函数给只读字段赋值usingSystem;publicclassArea{publicreadonlydoubleRadius;//Radius是只读字段privatedoublex,y;publicdoubleSize;publicstaticdoubleSum=0.0;publicArea(){Radius=1.0;//通过构造函数对radius赋值}}classTest{publicstaticvoidMain(){A

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

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

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