C#平时的课件4对象.ppt

上传人:牧羊曲112 文档编号:6502356 上传时间:2023-11-07 格式:PPT 页数:29 大小:625KB
返回 下载 相关 举报
C#平时的课件4对象.ppt_第1页
第1页 / 共29页
C#平时的课件4对象.ppt_第2页
第2页 / 共29页
C#平时的课件4对象.ppt_第3页
第3页 / 共29页
C#平时的课件4对象.ppt_第4页
第4页 / 共29页
C#平时的课件4对象.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C#平时的课件4对象.ppt》由会员分享,可在线阅读,更多相关《C#平时的课件4对象.ppt(29页珍藏版)》请在三一办公上搜索。

1、第四章,在 C#中实现 OOP,2,目标,理解类和对象理解成员变量及成员变量的调用使用构造函数和析构函数使用方法,方法的调用,方法的重载理解命名空间,3,对象,属性,颜色,价格,型号,行为,起动,停车,加速,属性,颜色,车轮数量,行为,行进,打铃,属性,颜色,品种,行为,睡,吃,4,类,类是一类对象的抽象,用于在程序中模拟现实生活的事物对象是现实中的事物如何描述现实的事物:特征和动作,对应类中的数据成员和方法,语法:,访问修饰符 class,/类的主体,示例:class Employee/类的主体,/成员变量/成员方法,5,各种命名法,帕斯卡(pascal)命名法所有单词首字母大写如:Car

2、GetX()用于类,方法,除私有成员变量外的其他成员变量的命名枚举,枚举中的可选项,结构骆驼式命名法首字母小写,后面单词使用Pascal命名法如:_color yourName用于类的私有数据成员命名,并且以_开头用于方法中声明的变量,数组,6,各种命名法,匈牙利命名法:最开始是变量类型,后面是帕斯卡命名法示例 objCar用于对象的命名,7,语法:,成员变量,访问修饰符,数据类型,成员变量;,private,protected,internal,public,_color,model,.,price,int,char,.,bool,class Car/汽车的数据成员 public strin

3、g Color;/颜色public string Model;/型号public float price;/价格,访问成员变量,步骤 1:创建一个类的对象,Car c=new Car();,步骤 2:使用点号访问成员变量,c.Color=黑色;/设置汽车c的颜色c.price=1000000;/设置汽车c的价格,8,访问修饰符 2-1,Car 类,private 成员,protected 成员,public 成员,internal 成员,Class 类,只有 Class 类和 Car类都在同一程序集中,才可访问internal成员,不可访问,不可访问,可以访问,9,访问修饰符 2-2,10,构

4、造函数1,构造函数是类的一种特殊方法,一般用于对类的数据成员进行初始化。每次创建类的实例都会调用它。,访问修饰符,(),/构造函数的主体,语法:,/默认构造函数Car()_color=“black;,示例:,11,参数化构造函数 2,访问修饰符,(),/构造函数的主体,语法:,(参数列表),/参数化构造函数Car(string str)_color=“str”;,示例:,12,析构函数,是用于执行清除操作的特殊方法一个类只能有一个析构函数析构函数不能被继承析构函数不能被显示或手动调用,只能由系统的垃圾回收器自动调用,(),/析构函数的主体,语法:,Car,示例:,13,方法 1,对象的行为,接

5、听,响铃,挂断,PickUp()./接电话,Ring()./响铃,Hang()./挂断,14,声明方法 2,语法,访问修饰符(可选),默认情况下为 private,访问修饰符 返回类型(参数列表)/方法主体,如果不需要返回任何值,方法可能返回 void 数据类型,15,声明方法 3,.class Pointint x;int y;void Assign()System.Console.WriteLine(“输入点的值);x=int.Parse(System.Console.ReadLine();y=int.Parse(System.Console.ReadLine();.,方法 Assign(

6、)的定义,不返回任何值(void)不接收任何值(Assign(),Assign()方法,16,调用方法 4,语法,对象名.方法名(参数列表);,实例,类中的方法,点号,17,演示:示例 3,调用方法 5,private void Accept()Console.WriteLine(请输入复数的实部);_r=int.Parse(Console.ReadLine();Console.WriteLine(请输入复数的虚部);_i=int.Parse(Console.ReadLine();/显示复数值void showResult()Console.WriteLine(相加之和);Console.Wr

7、iteLine(_r+_i+i);/将两个复数相加Complex Add(Complex c)c._r+=this._r;c._i+=this._i;return c;,接收实部和虚部的值,显示实部和虚部的值,请参阅对象的实例变量,b与 c 相关联,STAThreadstatic void Main(string args)Complex a=new Complex();Complex b=new Complex();a.Accept();b.Accept();Complex e=a.Add(b);e.showResult();Console.ReadLine();,18,调用方法 6,语法,

8、return 表达式;,return 语句,19,方法重载 1,重载:指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)作用:对不同数据执行相似的功能例如:求最大值注意:参数表不同:是指参数个数不同或参数类型不同不能根据返回值不同进行重载编译时,根据调用方法的实参类型决定调用哪个同名方法。,20,方法重载2,/基于参数不同的方法重载public int greatest(int x,int y)if(xy)return x;else return y;public int greatest(int x,int y,int z)if(xy,具有不

9、同数量的参数的方法重载,21,方法重载 3,/基于参数类型的方法重载public int greatest(int x,int y)if(xy)return x;else return y;public double greatest(double x,double y)if(xy)return x;else return y;,具有不同类型的参数的方法重载,22,命名空间 1,英国,澳大利亚,纽卡斯尔,纽卡斯尔,23,命名空间 6-2,Class Manager long int salary;.,long int salary;.,Class Manager,命名空间 AdminDept,

10、命名空间 ITDept,AdminDept.Manager,ITDept.Manager,类库,24,命名空间 2,Class SamsungTelevision,Class SonyWalkman,Class SonyTelevision,Class SamsungWalkman,长名称难以维护,namespace Samsung class Television.class WalkMan.,Samsung.Television,Sony.Television,namespace Sony class Television.class WalkMan.,有条理,有结构,25,命名空间 3,

11、namespace 命名空间的名称/该名称空间的所有类都放在这里。,语法,26,使用命名空间来组织类,创建命名空间,namespace CompanyName namespace Sales public class Customer()/Ornamespace CompanyName.Sales.,using 指令,using System;using CompanyName.Sales;,嵌套的命名空间,namespace CompanyName public class Customer(),27,命名空间 4,namespace Samsung class Monitor public

12、 void SayName()Console.WriteLine(“我是sansung的显示器:);STAThread static void Main(string args)/TODO:在此处添加代码以启动应用程序/,28,命名空间 5,namespace Sony public class Monitor public void SayName()Console.WriteLine(“我是Sony的显示器:);static void Main(string args)Samsung.Monitor sm=new Samsung.Monitor();Monitor m=new Monitor();sm.SayName();m.SayName();,29,总结,类是 C#中的一种结构,用于在程序中模拟现实生活的对象成员变量表示对象的特征方法表示对象可执行的操作如果类中未定义构造函数,则由运行库提供默认构造函数析构函数不能重载,并且每个类只能有一个析构函数可以根据不同数量的参数或不同数据类型参数对方法进行重载,不能根据返回值进行方法重载命名空间用来界定类所属的范围,类似于Java中的包,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号