C#程序设计33-类的继承课件.ppt

上传人(卖家):晟晟文业 文档编号:4143779 上传时间:2022-11-14 格式:PPT 页数:22 大小:95.37KB
下载 相关 举报
C#程序设计33-类的继承课件.ppt_第1页
第1页 / 共22页
C#程序设计33-类的继承课件.ppt_第2页
第2页 / 共22页
C#程序设计33-类的继承课件.ppt_第3页
第3页 / 共22页
C#程序设计33-类的继承课件.ppt_第4页
第4页 / 共22页
C#程序设计33-类的继承课件.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、单元3 面向对象的C#知识目标 v(1)理解面向对象的封装性、继承性和多态性;v(2)掌握类的定义;v(3)掌握静态方法和静态类;v(4)掌握C#的继承语法;v(5)掌握接口的声明和实现的语法;v(6)理解抽象方法和接口的作用。能力目标v(1)能理解面向对象的封装性、继承性、多态性;v(2)能将常见的事物抽象成恰当的类;v(3)能正确定义类和类的成员,能使用访问修饰符控制封装程度;v(4)能以对象及对象与对象的相互作用来分析问题;v(5)能以继承表示实际问题中分类;v(6)能理解并使用接口约定不同类型对象的行为;v(7)能理解接口和抽象类的差别。教学任务v任务1 类的定义及使用v任务2 构造函

2、数、静态成员和命名空间v任务3 类的继承v任务4 多态v任务5 接口单元3 面向对象的C#任务3 类的继承引例v定义一个Animal类,包含Type属性,toString()方法和sound()方法,并派生出Dog类、Cat类,派生类拥有另外一个属性Name。知识储备v知识点1:类的继承。v知识点2:继承隐私保护。v知识点3:继承时构造函数的调用。知识点1:类的继承vC#是一种面向对象的编程语言,它同样具有面向对象编程的一些特点。前面我们已经详细了解了类、对象、属性和构造函数等,它们是面向对象的基础知识,面向对象编程的更深层次的问题包括了继承性、多态性和异常等其他一些相关的知识。v继承性是从现

3、有的类中派生出新类的功能,它能分析多态性的细微差别,并允许创建类层次结构,使用继承可以创建一个定义了多个相关项目共有特性的通用类。定义派生类v派生类能够继承基类的方法、特性等,但继承得到的成员也受作用域的限制,即使派生类继承得到基类成员,也可能无法访问。v派生类一般格式:类型修饰符 class 类名:基类名 派生类成员;示例 public class A public A()public void doA()public class B:A public B()public void doB()public class Tester public void Main()A a=new A();

4、B b=new B();b.doB();b.doA();a.doA();a.doB();/非法继承 B b1=new B();A a1=(A)b1;/B对象可以调用强制转化为A类型,因为B继承自A 知识点2:继承隐私保护修饰符类内部子类其他类public可以可以可以protected可以可以不可以private可以不可以不可以说明:如果父类中的成员只允许父类独有,不允许子类或其他类访问,则使用访问修饰符private,也就是说使用了private修饰符则只能在父类中使用。如果父类中的成员,只允许父类和其派生类访问,不允许其他类访问,则在父类中用protected修饰该成员,当使用“base”关

5、键字时,是可以访问父类成员的。实践任务1v描述一个长方体类(包含长宽高,带三个参数的构造函数,以及体积计算方法),并派生一个正方体类。知识点3:继承时构造函数的调用v构造函数调用:如果派生类的基类本身是另一个类的派生类,则构造函数的调用次序按由高到低顺序依次运行。public class A public A()Console.WriteLine(A的构造函数);public class B:A public B()Console.WriteLine(B的构造函数);public class C:B public C()Console.WriteLine(C的构造函数);class Progr

6、am static void Main(string args)C c=new C();Console.ReadKey();【例3-9】由长方形类派生出正方形类,正方形类的构造函数调用基类的构造函数。class Rectangle protected double length;private double width;public Rectangle(double l,double w)length=l;width=w;class Square:Rectangle public Square(double l):base(l,0)public double Area()return leng

7、th*length;class Program static void Main(string args)Console.WriteLine(请输入正方形的长:);Square s=new Square(double.Parse(Console.ReadLine();Console.WriteLine(正方形的面积为:0,s.Area();Console.ReadKey();继承的特性v1、传递性v子类的子类具备其父类以及父类父类的属性和方法。v2、单根性vC#的继承有一个很重要的特性,继承是单继承,不支持多继承,即,一个子类只能有一个父类。v3、密封性v在.NET类库中,绝大多数类可以以基类

8、产生派生类。因为从面向对象编程的思想看,类具有开发性,即一个类为了具有很好的扩展性,是不能密封的,因为类一旦密封,则该类不再具有扩展的空间。密封类v密封类定义一般格式:访问修饰符 sealed class 类名称密封方法v一般格式:public class A public sealed void show()Sealed类与方法v被声明为sealed的类不能被继承v被声明为sealed的方法不能被重写调用基类的同名方法v已替换或重写了某个方法的派生类仍可以使用 base 关键字访问基类中的该方法。在派生类中声明与基类同名的方法,也叫方法的重写。在派生类重写基类方法后,如果想调用基类的同名方法

9、,使用base关键字 public class A public void DoWork()public class B:A public new void DoWork()base.DoWork();/A类的DoWork()方法 归纳总结v知识要点:v(1)派生类的定义方法;v(2)protected访问修饰符作用;v(3)继承的顺序,继承的特点子类只能继承自一个父类;v(4)构造函数和方法的继承;引例分析与实现v定义一个Animal类,包含Type属性,toString()方法和sound()方法,并派生出Dog类、Cat类,派生类拥有另外一个属性Name。并在测试类中测试定义的类。cla

10、ss Animal private string type;public string Type get return type;set type=value;public string toString()return 这是一个动物类;public void sound()Console.WriteLine(动物声音);class Cat:Animal private string name;public string Name get return name;set name=value;private string breed;public string Breed get return

11、 breed;set breed=value;public string toString()return Cats name is+name+,属于 +breed+,在被抚摸感到舒服的时候,会;public void sound()Console.WriteLine(喵喵叫);class AnimalTest static void Main(string args)Animal d1=new Dog();Animal c1=new Cat();Dog d=new Dog();d.Name=吉娃娃;d.Breed=哺乳类和肉食性;Console.Write(d.toString();d.sound();Cat c=new Cat();c.Name=波斯猫;c.Breed=哺乳类和肉食性;Console.Write(c.toString();c.sound();Console.ReadKey();拓展实践v定义一个交通工具(Vehicle)类,拥有轮子和重量两个公共属性,并派生出小汽车(Car)类添加载客人数属性,并定义显示车辆信息的方法。

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C#程序设计33-类的继承课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|