c#类基础知识ppt课件.pptx

上传人:牧羊曲112 文档编号:2002318 上传时间:2022-12-30 格式:PPTX 页数:56 大小:1.29MB
返回 下载 相关 举报
c#类基础知识ppt课件.pptx_第1页
第1页 / 共56页
c#类基础知识ppt课件.pptx_第2页
第2页 / 共56页
c#类基础知识ppt课件.pptx_第3页
第3页 / 共56页
c#类基础知识ppt课件.pptx_第4页
第4页 / 共56页
c#类基础知识ppt课件.pptx_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《c#类基础知识ppt课件.pptx》由会员分享,可在线阅读,更多相关《c#类基础知识ppt课件.pptx(56页珍藏版)》请在三一办公上搜索。

1、类,类与对象,类与对象,类是一个样板,以操作、表示和算法的形式完整地定义了一组对象的行为。它通常也是面向对象语言中的模块化、封装和数据抽象的基础。对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。,类与对象,类与封装,封装,隐藏对象的信息留出访问的接口,属性的封装,在C#程序中我们通常使用属性对字段进行封装,方法(一),方法(二),方法(三),Public void PlayGame()/方法的声明 /方法的实现 Console.WriteLine(“我是头号玩家!”);,方法(四),无参方法的调用 Child.PlayBall();带参方法的调用 Child.S

2、ports(参数);,方法的重载,同一个类中,多个方法名字相同,但参数(类型或数量)不同Class Chlid public void Sports(string sport); /代码 public void Sports(int count); /代码 ,构造方法(一),Child xMing = new Child();/调用构造方法作用:为属性赋值注:如果没有显示的定义构造方法,则会有一个默认的无参数的构造方法;如果定义了构造方法,则没有默认构造方法;,构造方法(二),只能用new 方法名()的形式调用构造方法;构造方法通常声明为public;构造方法没有返回值类型;构造方法名必须与类

3、名相同;,构造方法(三),构造方法的重载:与普通方法的重载相同;注意:当我们定义了有参构造方法后,就不能再有默认的无参构造方法了;,构造方法(四),对象的初始化: Child xiaozhu=new Child()Name=“佩奇”,Age= 5; 注:类里面要包含一个无参构造方法,值类型,Int a=3; Int b=a;-a; 赋值会创建值的副本,修改任一个副本,不影响其它副本。,引用类型,引用类型变量存储对象的内存地址,赋值不会创建值的副本,只会创建地址的副本,修改任何一个副本,也同时修改其他的副本。,传参,引用类型参数,按引用传参,方法修改形参,实参也会被相应的修改;值类型参数,按值传

4、参,方法修改形参,实参不会被修改;,结构(一),结构 (struct) 是能够包含数据成员和函数成员的数据结构。结构类型的变量直接存储该结构的数据。所有结构类型都隐式地从类型System.ValueType继承。System.ValueType继承自System.Object。结构是值类型,不需要在堆分配结构类型不允许继承。结构类型不允许继承。,结构(二),/用struct修饰,表示一个结构类型struct Point public int x; public int y; public Point(int x, int y) this.x = x; this.y = y; ,结构(三),结构

5、中可以定义字段、属性和方法;不能为结构中的字段赋初值;结构的构造方法中必须为所有字段赋值;不能为结构显示定义无参数的构造方法;结构类型的对象可以不实例化;,枚举(一),枚举 (enum) 是具有一组命名常量的独特的值(结构)类型每个枚举类型都有一个相应的整型类型,称为该枚举类型的基础类型 (underlying type)。没有显式声明基础类型的枚举类型所对应的基础类型是 int。枚举类型的存储格式和取值范围由其基础类型确定。所有枚举类型默认继承自System.Enum类型,System.Enum继承自System.ValueType。故枚举为结构类型。,枚举(二),/:long表示基础类型是

6、long/如果不写则默认为intenum Alignment : long /=也可不写,默认则是以0开始,依次加1 Left = -1, Center = 0, Right = 1,类与继承,继承(一),为什么需要继承 减少重复的代码实现继承 一个类派生于另一个基类,它拥有该基础类型的所有成员字段和函数,继承(二),语法 class ChildClass : ParentClass 子类是父类的一种特殊情况或者具体情况,继承(三),特殊基类Object Object类是所有类的共同基类,它是唯一的非派生类,继承层级结构的基础。规则 继承只有单继承,也就是只能继承一个父类,当然该父类可以继承自

7、一个祖父类,直到object类。,隐藏方法,用与基类成员名称相同的成员来屏蔽基类成员语法: 屏蔽数据成员:在派生类中声明名称和类型相同的成员; 屏蔽方法成员:在派生类中声明新的带有相同方法签名的成员; 添加new关键字,否则可能报错;,构造方法,派生类对象中,包含基类部分,在执行派生类的构造方法之前,将会隐式或显式的调用基类构造方法; 调用顺序:,实例成员初始化,基类构造方法,派生类构造方法,类与多态,多态,基类描述了共同的属性和行为。但是,子类具有差异性,统一的行为在基类和派生类中也有所区别。为了兼顾共性又能体现出个性,我们可以使用虚方法和多态的武器。,虚方法和多态(一),声明为virtua

8、l的方法就是虚方法。基类的虚方法可以在派生类中使用override进行重写。通过指向派生类的基类引用,调用虚方法,会根据引用所指向派生类的实际类型,调用派生类中的同名重写方法,便是多态。,虚方法和多态(二),重写虚方法必须具有相同的可访问性,且基类方法必须是非private;不能重写static方法或者非虚方法;方法,属性,索引器,事件,都可以声明为virtual。,抽象方法和抽象类(一),抽象方法 abstract public void Func();注:抽象方法不能有实体,包含抽象方法的类必须声明为抽象类;,抽象方法和抽象类(二),抽象类 abstract class Student ,

9、抽象方法和抽象类(三),抽象类 用abstract修饰; 抽象类不能实例化; 抽象类中可以包含抽象成员和普通成员,以及他们的任意组合; 抽象类的抽象成员在派生类中需要用override关键字实现,密闭方法和密闭类(一),有些方法不希望被重写,有些类不希望通过继承而被修改,那么可以用sealed去修饰;基类方法不允许子类对其重写时,可以不声明为virtual;派生类中的方法不允许其子类对其重写,同时该方法是override的,就可以使用sealed。,接口,接口(一),接口的语法结构:public interface Iexam : 基接口列表 void Exam();,接口(二),对接口方法的

10、调用与类中的情况相同。如果底层成员的命名与继承而来的高层成员一致,那么底层成员将屏蔽掉同名的高层成员。,接口(三),接口成员访问权限为public,但不能加访问修饰符;接口成员不能有定义;接口的成员必须是方法,属性,事件或索引器,不能包含常数、字段、运算符等;,接口(四),只能用来被实现 class ArtStudent : Iexam,ISport public void Exam() ,接口(五),接口支持多继承,在多继承中,如果两个父接口含有同名的成员,这就产生了二义性,在实现时需要进行显式的声明,且显式接口成员为private。,索引,索引(一),索引器允许类或者结构的实例按照与数组相同的方式进行索引。 访问修饰符 类型名 this参数列表 get set ,索引(一),索引器允许用户按照处理数组的方式索引类,访问时有两种形式使用索引器可以直接访问类实例;将数组声明为public成员并直接访问数组的成员;,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号