第五讲-面向对象编程二继承封装和多态.pptVIP

  • 2
  • 0
  • 约6.54千字
  • 约 22页
  • 2019-06-29 发布于湖北
  • 举报

第五讲-面向对象编程二继承封装和多态.ppt

第五讲 面向对象编程(二) 继承、封装和多态 4.3 继承、封装和多态 4.3.1 继承 4.3.2 封装 4.3.3 多态 4.3.4 this和base关键字 1. 派生子类 2. 域的继承、添加与隐藏 3. 方法的继承、添加与覆盖 方法重载举例 方法隐藏举例 虚方法覆盖举例 1. this关键字 this关键字举例 this的注意事项 2. base关键字:base指的是父类 base(用法2)举例 4.4 运算符重载 4.4.1 运算符重载基本概念 4.4.2 单目运算符重载 4.4.3 双目运算符重载 4.4.1 多态之二:运算符的重载 using System; Class class1 { public int x1,x2; public class1() {x1=1; x2=2;} public static int operator ++(class1 c) { c.x1=c.x1+10; c.x2=c.x2+5; } Public void Show() { Console.WriteLine(“{0},{1}”,x1,x2);} } using System; Class class1 { public int x1,x2; public class1() {x1=1; x2=2;} public static class1 operator +(class1 c1,class1 c2) { c1.x1=c1.x1+c2.x1; c1.x2=c1.x2+c2.x2; return(c1); } Public void Show() { Console.WriteLine(“{0},{1}”,x1,x2);} } * * 4.3.1 类的继承 继承的意思是一个类可以建立在另一个类的基础上,可以继承另一个类的属性和方法。我们把被继承的类叫做基类,通过继承产生的类叫做派生类(也可以叫做父类和子类)。继承的概念来源与现实的生活,比如汽车、轮船、火车飞机等就是继承于交通工具这个类,而汽车类中又可以派生出新的类,比如轿车、面包车等等。 引入继承可以让我们重用以前写过的代码,新编写的代码可以在原来的基础上继承而来。 在C#中继承的方式就是定义派生类。 在C#中,所有的类都是通过直接或间接地继承Object类得到的。 定义派生类的基本形式: class 派生类名字:基类名字 { 派生类的代码; } public class Parent { public Parent( ) { ......定义一个构造函数} public void WriteItem( ) { .......定义方法 } } public class Child:Parent { public Child( ) { ...... 派生类的构造函数} public static void Main( ) { Child a=new Child( ); a.WriteItem( ); } } 派生类使用基类的方法 基类的构造函数先执行再执行派生类的构造函数。 1、域的继承:子类可以继承父类的所有成员。 2、域的添加:在子类定义中加上新的域变量,就可以使得子类具有比父类多的属性。如: class Student: Person { string school; int score; } 子类比父类多了两个成员: school、score。 3、域的隐藏:子类重新定义一个从父类中继承的域变量。 class A{ public int a; } class B:A { new public int a;} 使用new修饰符来隐藏父类的同名成员a。 1、方法的继承:子类可以继承父类的所有方法。 2、方法的添加:在子类定义中加上新的方法,以针对子类实现相应的功能。比如可以在Student类中定义分数的判断方法。 3、方法的覆盖:子类定义与父类同名的方法。(多态之一) (1)定义同名但参数列表不同的方法,称为方法的重载; (2)定义同名且参数列表也相同的方法,称为新增,这时应 该在同名方法前面用new修饰符; (3)定义同名且参数列表也相同的方法,并且父类中的方法用abstract/virtual进行修饰,子类中的方法用override进行了修饰,称为虚方法的覆盖。 clas

文档评论(0)

1亿VIP精品文档

相关文档