




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章在C#中实现OOP概念Net框架图2一个简单的windows应用程序设计一个小游戏,要求能通过上下左右4个按钮的点击动作,使得中间的小黑块能向相应的方向移动。3回顾C#提供以下类型的选择结构:ifif…elseswitch…caseC#提供以下类型的循环结构:while
循环do
循环for
循环foreach
循环4回顾数组是可用于将类型相同的多个数据元素存储为一个实体的数据结构5目标理解C#
的类和对象使用
C#
构造函数和析构函数使用C#
访问修饰符使用方法理解命名空间6对象属性型号价格里程行为起动停车行驶属性车轮数量档的数量行为加速换档刹车属性名称颜色品种行为摇尾巴吃东西犬吠7类类是C#
中的一种结构,用于在程序中模拟现实生活的事物语法:[访问修饰符]class<类名>{//类的主体}示例:classEmployee{//类的主体}//成员变量//成员方法8语法:成员变量[访问修饰符]数据类型成员变量;privateprotectedinternalpublic_namestatus….userNameintchar….bool…classEmployee{ privatestring_name; privatechar_gender; privatestring_qualification; privateuint_salary;}…访问成员变量步骤1:创建一个类的对象EmployeeobjEmployee=newEmployee();步骤2:使用点号访问成员变量objEmployee._name=“张三";objEmployee._name='M';9访问修饰符2-1Teacher类private
成员protected成员public成员internal
成员Student类只有Student类在Teacher类都在同一程序集中,才可访问internal成员不可访问不可访问可以访问10访问修饰符2-2修饰符说明public所属类的成员以及非所属类的成员都可以访问internal当前程序集可以访问private只有所属类的成员才能访问protected所属类或派生自所属类的类型可以访问11构造函数2-1构造函数是类的一种特殊方法,每次创建类的实例都会调用它[访问修饰符]<类名>(){//构造函数的主体}语法:…//默认构造函数Employee(){ _qualification="研究生"; }…示例:12演示:示例1构造函数2-2classEmployee{
privatestring_name;privatechar_gender;privatestring_qualification;privateuint_salary;
//默认构造函数
privateEmployee()
{_qualification=“研究生";
}
staticvoidMain(string[]args)
{ //调用默认构造函数
EmployeeobjEmployee=newEmployee();
Console.WriteLine(“资格=" +objEmployee._qualification);
Console.WriteLine(“薪水=" +objEmployee._salary);
}}13参数化构造函数2-1[访问修饰符]<类名>(){//构造函数的主体}语法:([参数列表])…//参数化构造函数Employee(stringstrQualification){_qualification=strQualification; }…示例:14参数化构造函数2-2//默认构造函数privateEmployee(){_qualification=“研究生";}//参数化构造函数privateEmployee(stringstrQualification,stringstrName,chargender,uint
empSalary){_qualification=strQualification;_name=strName;_gender=gender;_salary=empSalary;}publicstaticvoidMain(string[]args){//调用默认构造函数
EmployeeobjGraduate=newEmployee();//调用参数化构造函数
EmployeeobjMBA=newEmployee(“ACCPS3“,”张亮影“,‘男',5500);
Console.WriteLine(“默认构造函数输出:\n资格=“+objGraduate._qualification);
Console.WriteLine(“\n参数化构造函数输出:\n资格="+objMBA._qualification);}15析构函数是用于执行清除操作的特殊方法~<类名>()0//不能加参数!!{//析构函数的主体}语法:…~Employee(){
}…示例:16方法对象的行为接听响铃挂断PickUp(){….//用于传送和接收信号的代码}Ring(){….//用于显示主叫号码的代码}Hang(){….//用于结束会话的代码}17声明方法2-1语法访问修饰符(可选),默认情况下为
private[访问修饰符]返回类型<方法名>([参数列表]){//方法主体}如果不需要返回任何值,方法可能返回void
数据类型18声明方法2-2…..classPoint{
intx;
inty; voidAssign() {
System.Console.WriteLine(“输入点的值"); x=int.Parse(System.Console.ReadLine());
y=int.Parse(System.Console.ReadLine());
}}…..方法Assign()
的定义
不返回任何值(void)
不接收任何值(Assign())Assign()方法19调用方法3-1语法对象名.方法名([参数列表]);实例类中的方法点号20演示:示例3调用方法
3-2
privatevoidAccept() {
Console.WriteLine(“请输入实数部分"); _real=int.Parse(Console.ReadLine());
Console.WriteLine(“请输入虚数部分"); _imaginary=int.Parse(Console.ReadLine()); }
voidShowResult() {
Console.WriteLine(“相加之和为:");
Console.WriteLine(_real+"+"+_imaginary+"i"); }
//此方法用于将两个复数相加
ComplexNumber
Add(ComplexNumberobjParam1) { objParam1._real+=_real; objParam1._imaginary+=_imaginary; returnobjParam1; }接收实部和虚部的值显示实部和虚部的值请参阅对象的实例变量objParam1
与
objNumber2
相关联[STAThread]publicstaticvoidMain(string[]args){
ComplexNumberobjNumber1=newComplexNumber();
ComplexNumberobjNumber2=newComplexNumber();objNumber1.Accept();objNumber2.Accept();
ComplexNumber
objTemp=objNumber1.Add(objNumber2);
objTemp.ShowResult(); }21调用方法3-3语法return[表达式];return
语句
22方法重载4-1消费者
1固定电话电移动电话帐单管理层供应商1供应商2电信电电话电对不同的数据执行相同的任务23方法重载4-2…ClassBillPayment{ … voidPayBill(int
telephoneNumber) { //此方法用于支付固定电话话费 } voidPayBill(long
consumerNumber) { //此方法用于支付电费 } voidPayBill(long
consumerNumber,doubleamount) { //此方法用于支付移动电话话费 } …}…对不同数据执行相似的功能24方法重载4-3int
greatest(intnum1,intnum2){ Console.WriteLine(“{0}和
{1}相比,最大的是:",num1,num2); if(num1>num2)
{ returnnum1;
} else
{ returnnum2;
}}int
greatest(intnum1,intnum2,intnum3){ Console.WriteLine(“{0},{1}和{2}相比,最大的是:",num1,num2,num3); if(num1>num2&&num1>num3)
{ returnnum1;
} elseif(num2>num1&&num2>num3)
{ returnnum2;
} else
{ returnnum3;
}}具有不同数量的参数的方法重载25方法重载4-4int
greatest(int[]numbers){
inttemp=numbers[0];
for(inti=1;i<numbers.Length;i++) {
if(temp<numbers[i])
temp=numbers[i]; }
returntemp;}doublegreatest(double[]numbers){doubletemp=numbers[0];
for(inti=1;i<numbers.Length;i++) {
if(temp<numbers[i])
temp=numbers[i]; }
returntemp;}具有不同类型的参数的方法重载26命名空间6-1
英国澳大利亚纽卡斯尔纽卡斯尔27命名空间6-2ClassManager{longintsalary;………………}…….…….{longintsalary;…….………}ClassManager命名空间AdminDept命名空间ITDeptAdminDept.ManagerITDept.Manager类库28命名空间6-3ClassSamsungTelevision{}ClassSonyWalkman{}ClassSonyTelevision{}ClassSamsungWalkman{}长名称难以维护namespaceSamsung{
classTelevision{...}
class
WalkMan{...}}Samsung.TelevisionSony.TelevisionnamespaceSony{
classTelevision{...}
class
WalkMan{...}}有条理,有结构29命名空间6-4namespace
命名空间的名称{
//该名称空间的所有类都放在这里。}语法30命名空间6-5namespaceSamsung{ classMonitor { publicvoidListModels() {
Console.WriteLine(“供应以下型号的显示器:"); Console.WriteLine("14\",15\"\n"); } [STAThread
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制具加工合同标准文本
- 助残居家服务合同样本
- 医院改造合同标准文本
- 办公设备技术转让合同样本
- 北京广告牌制作合同样本
- 劳务施工采购合同样本
- 医院改建教堂合同标准文本
- 医院业务合同标准文本
- 医疗废物处置合同标准文本
- 别墅灯具出售合同样本
- 恐龙无处不有(2024年山东泰安中考语文现代文阅读试题)
- 洗车流程培训
- 2024年开封大学高职单招职业技能测验历年参考题库(频考版)含答案解析
- 危险化学品购销的合同范本
- 实时荧光聚合酶链反应临床实验室应用指南(WST-230-2024)
- 物流行业物流园区智慧安防方案
- 2024年出版专业资格考试《出版专业基础知识》中级真题及答案
- 有机硅材料在电子封装技术-洞察分析
- GB/T 45083-2024再生资源分拣中心建设和管理规范
- 中医治疗协议书范本(2篇)
- 沐足行业严禁黄赌毒承诺书
评论
0/150
提交评论