55、Object累是C#语言中最重要的类,在其类中通常使用4个常用方法:Equals、GetHashCode、GetType 以及 ToString 方法。
56、Equals 方法主要用于比较两个对象是否相等,如果相等则返回 True,否则返回 False。
57、GetHashCode 方法返回当前 System.Object 的哈希代码,每个对象的哈希值都是固定 的。
58、GetType 方法用于获取当前实例的类型,返回值为 System.Type 类型。
如下:
59、ToString 方法返回一个对象实例的字符串,在默认情况下将返回类类型的限定名。对于值 类型,则为将值转换为字符串类型的值。
60、在继承的关系中,子类如果需要调用父类中的成员可以借助 base 关键字来完成。base指代 当前对象中父类的部分内容。
61、virtual 是虚拟的含义,在 C# 语言中,默认情况下类中的成员都是非虚拟的,通常将类中成员定义成虚拟的,表示这些成员将会在继承后重写其中的内容。
注意: virtual 关键字不能修饰使用 static 修饰的成员。 virtual 关键字具有传递性,子类中重写方法默认带有virtual修饰。
62、abstract 关键字代表的是抽象的,使用该关键字能修饰类和方法,修饰的方法被称为抽象 方法、修饰的类被称为抽象类。
抽象类的定义格式:
抽象方法的定义格式:
63、sealed 关键字的含义是密封的,使用该关键字能修饰类或者类中的方法,修饰的类被称为 密封类、修饰的方法被称为密封方法。
但是密封方法必须出现在子类中,并且是子类重写的父类方法,即 sealed 关键字必须与 override 关键字一起使用。
sealed方法特点: 不能被继承 不能被重写
64、多态称为运行时多态,也就是在程序运行时自动让父类的对象调用子类中重写的方法,从而 产生不同的调用效果。
构成多态的条件: a、具有继承关系。 b、子类中重写父类的虚方法。 c、 父类实例指向子类的对象。
65、C#中的接口是为了实现多重继承关系,多重继承即一个类可以继承多个类
接口的语法形式如下:
接口名称:
通常是以 I 开头,再加上其他的单词构成。例如创建一个计算的接口,可以命名为 ICompute。
接口成员的满足条件:
1)接口中的成员不允许使用 public、private、protected、internal 访问修饰符。
2)接口中的成员不允许使用 static、virtual、abstract、sealed 修饰符。
3)在接口中不能定义字段。
4)在接口中定义的方法不能包含方法体。
如定义一个接口IWorker,其中包含一个动作DoWorker: