文档介绍:C# 基础知识(3)
讲师:李智
河南863软件公司 C# 基础知识培训
回顾
类是 C# 中的一种结构,用于在程序中模拟现实生活的对象
成员变量表示对象的特征
方法表示对象可执行的操作
如果类中未定义构造函数,则由运行库提供默认构造函数
析构函数不能重载,并且每个类只能有一个析构函数
可以根据不同数量的参数或不同数据类型参数对方法进行重载,不能根据返回值进行方法重载
命名空间用来界定类所属的范围,类似于Java中的包
2
目标
理解继承
在C# 中使用继承
在C#中使用接口
在C#中使用方法的重写
3
继承
4
Class Base
{
// 成员变量
int basevar;
// 成员函数
Base_fun1()
{
// 定义
}
…….
…….
Class Derived : Base
{
// 成员变量
int derivedvars;
// 成员函数
Derived_fun1()
{
// 定义
}
…….
…….
基类
void main()
{
Derived dr_obj = new Derived() ;
();
}
无需重新编写代码
派生类
继承
5
狗
马
动物
基类
派生类
继承的层次结构示例
Class Animal
{
// 成员变量
int eyes, nose;
Animal()
{
eyes = 2;
nose = 1;
}
Pet_Animal()
{
// 定义
}
}
基类
Class Dog : Animal
{
// 成员变量
// 成员函数
private Barking()
{
// 定义
}
private Wagging_Tail()
{
}
}
派生类
继承 C# 中的类
6
public class Dog: Animal {
// 成员变量
// 成员函数
}
public class hounddog : Dog {
// 成员变量
// 成员函数
}
7
演示
public class Student:Person
{
private string _school;
private uint _eng;
private uint _math;
private uint _sci;
public void GetMarks()
{
(“请输入学校名称");
_school = ();
("请分别输入英语、数学和自然科学的分数。");
_eng = (());
_math = (());
_sci = (());
(“所得总分为:{0}",_eng+_math+_sci);
}
}
派生类
public class Person
{
private string _name;
private uint _age;
public void GetInfo()
{
("请输入您的姓名和年龄");
_name = ();
_age = (());
}
public void DispInfo()
{
("尊敬的{0},您的年龄为{1} ", _name, _age);
}
}
基类
static void Main(string[] args)
{
Student objStudent = new Student();
();
();
();
}
调用的基类成员
不需实现 GetInfo() 和 DispInfo() 方法
8
演示
public class Person
{
private string _name;
private uint _age;
public void GetInfo()
{
("请输入您的姓名和年龄");
_name = ();
_age =