版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#程序设计
第3章C#面向对象编程2本节目标理解面向对象的基本概念理解类和对象的区别和联系掌握类的声明及创建对象的方法掌握字段、方法和构造函数的声明及使用掌握类的访问修饰符的使用了解嵌套类的声明和使用了解分部类的概念和使用3基本内容面向对象的概念访问修饰符类的声明和使用类的数据成员小结4面向对象概念属性颜色价格型号行为起动停车加速属性颜色车轮数量行为行进打铃属性颜色品种行为睡吃如何对汽车进行编程处理?5类的基本概念类是一个数据类型,定义数据类型的数据(字段)和行为(方法和其他函数成员)对象是基于类的具体实体,有时称为类的实例(instance)面向对象的程序设计的三个基本特性:封装继承多态1.定义:封装是指使用抽象数据类型将数据和基于数据的操作包装在一起。2.目的:达到接口和实现的分离。子类拥有父类非private(私有权限)的属性和功能,子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;子类还可以以自己的方式实现父类的功能,这种方式叫做方法重写,不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行6基本内容面向对象的概念访问修饰符类的声明和使用类的数据成员小结7课堂讨论先有对象还是先有类?-应该先定义类才可以从类的定义声明对象。8类的声明和使用类的声明:访问修饰符
class
类名[类型形参][:基类或接口[类型形参约束]{
定义类的成员,即类的字段、属性和方法}在C#中使用class关键字定义类帕斯卡(pascal)命名法所有单词首字母大写可省略,省略时internal类体中不能有同名的成员classMyClass{intg;publicvoidg(doubled){……}}代码错误public|private|internal|protected|protectedinternal类的使用:类名对象名=new
类名([参数表]);9基本内容面向对象的概念访问修饰符类的声明和使用类的数据成员小结10类的成员类的主要成员包括两种类型描述状态的数据成员:常量、字段和事件描述操作的函数成员类的成员可以声明为静态成员(staticmember)实例成员(instancemember)与整个类相关类的每个实例都有它自己的数据副本11类的成员publicclassPerson{
//姓名及年龄
publicstringname;protectedintage;publicstringName{get{returnname;}set{name=value;}}//问候
publicvoidSayHi(){ …}}类的成员字段属性方法…
类名12字段的声明和访问[字段修饰符]
类型字段名[=初始化];声明:省略时private访问:对象.字段名;classEmployee{publicstringname;//类的字段(数据)声明
protecedintage=30;//类的字段(数据)声明,可以同时赋初值
}存储:存储在类的实例所在堆中的存储区内
13实例字段的声明和访问classProgram{staticvoidMain(string[]args){Employeeemp1=newEmployee();Employeeemp1=newEmployee();
//访问类的成员
emp1.name="王武";emp2.age=20;
}}创建对象访问类的成员是否允许引用受到成员的访问修饰符控制publicprotect访问类的成员是否正确?无法访问编译错误
14常量字段的声明和访问[字段修饰符]
const类型
常量名=初始化;声明:声明的同时必须赋值访问:类名.常量名;classEmployee{
publicintid;
publicstringname;
protectedintage=20;
//类的常量(数据)声明,必须同时赋值
publicconstintminAge=2000;
}Console.Write(Employee.minAge)程序中不会被改变常量名通常使用大写Employee.minAge=3000强制赋值会发生编译错误
15常量字段常量有如下特性:必须在声明时初始化,并且不能再修改了必须能在编译时计算其值,不能从一个变量那里提取值来初始化常量一个常量可以依赖其他常量,但依赖关系不能循环常量如果是引用类型,则只能给其赋予null或字符串常量常量总是静态的,但声明常量时不要求也不允许使用static修饰符既可修饰成员字段也可修饰局部变量16静态字段static
修饰类的字段时,在一个类中只开辟一块内存空间存储,并在类的所有对象实例间共享,因此static变量也称为类变量。classCat{publicstringname;publicstaticstringfood;}1name2name3name4namefood17
静态字段的访问static字段不依赖于具体对象,因此直接通过类名访问,而不是通过类的对象实例访问的非静态变量必须首先实例化类的一个对象,再通过对象访问,因此也称为实例变量classCat{ publicstringname; publicstaticstringfood;}staticvoidMain(){Cat.food=“fish”;//OKC=“Kitty”;//错误
Catcat1=newCat();=“Kitty”;//OK}静态字段的值是可以改变的,常量字段的值不能改变
18只读字段只读字段只能在声明字段时赋值在类的构造函数内被赋值在其他位置,只读字段的值不能更改只读字段的声明:[修饰符]readonly
类型字段名[=初始化];特点:只读字段可以是静态(必须显示声明)或实例字段只读字段的值是在运行时确定的,可以用变量初始化可以不给只读字段赋值,其值为数据类型的默认值19比较实例共享的字段共享字段,使用过程中需要修改共享字段,但数据是任意类型,运行时确定常量字段静态字段静态只读字段静态字段静态只读字段只读字段20例子classEmployee{
publicreadonlyintid;
publicstringname;
publicintage=20;
publicconstintminAge=18;
publicstaticstringcompanyName;
publicvoidDisplay(){Console.WriteLine("姓名:{0},年龄:{1},公司:{2}",name,age,companyName);
//,this.age,EpanyName);
}}只读字段构造函数可以赋值,对象名.id常量字段值不能改变,类名.minAge静态字段值改变,类名.companyName21基本内容面向对象的概念访问修饰符类的声明和使用类的数据成员小结22访问修饰符C#中使用如下访问修饰符:类成员可以声明为以上5种权限,默认访问修饰符为private顶层类、结构可以声明为public或internal,默认访问修饰符为internalnamespace–默认是public,不允许定义publicinterface,enum
public对interface中的成员,可访问性无效(不需要定义)23课堂练习nameageweightheightcolorMethod1、Method2、Method3可访问24课堂练
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026汽车交通事故处理行业市场竞争态势及投资前景
- 2026年重庆巴南花溪街道公益性岗位招聘考试试卷-含答案解析
- 2026人体健康检测技术市场价值与产业前景报告
- 2026中国嗅觉经济香氛产品差异化定位与线下体验店运营手册
- 2026中国篮球运动护具消费升级趋势与品牌营销策略报告
- 2026中国物流行业区块链技术应用前景报告
- 2026中国物流行业市场供需分析及投资方向评估规划报告
- 2026中国室内装饰行业市场发展分析及发展趋势与投资前景研究报告
- 2026运营总监压力面试题及答案
- 2026长治网吧面试题及答案
- 第一次月考测评卷(1-2单元试卷)(含答案)2025-2026学年六年级数学上册(人教版)
- 研究生入学心理健康教育
- 4-轨道车运行控制设备(GYK)V1.5.1使用说明书20191022
- 巡察整改培训课件
- 特警攀登技术课件
- 安全用药科普知识读本
- 北师大版(2024新版)七年级上册数学全册教案
- 《廉洁教育》课程标准
- 建筑用真空陶瓷微珠绝热系统应用技术规程
- 高效时间管理高效时间管理课件
- 人工智能深度学习技术与应用PPT完整全套教学课件
评论
0/150
提交评论