2011年8月1日11:21:01 听方老师讲面向对象
overload :同一种方法不同的参数类型,返回值,作用于不同的。
override :当子类中的方法不能满足要求时,在子类中,重写父类的方法
final class:不能被继承,可以被实例化
final Method:防止被重写,
final Variety:最终变量,常量
abstrct class:必须被继承,不允许被实例化。
继承了抽象类,但是没有实现所有的方法的类,也必须被声明为抽象类abstract class
abstract Method:没有方法体。
sealed class:与abstract class正好相反,也就是说不可以被继承。
virtual Keyword:
virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。
子类看不到父类的方法
interface:接口是契约和行为模板。
在日常生活中,单继承是个例,多继承是普遍现象。
多继承容易使系统混乱。
接口用来模拟多继承,所以说具备了抽象类的一些特征。
一个类只能继承一个类,但可以实现多个方法。
接口中的方法都是抽象的,所以abstract关键字可以不用写。
有抽象方法的类一定是抽象类。
抽象类里的方法一定是public abstract方法。
|
Abstract class |
Interface |
实例化 |
不能 |
不能 |
类 |
一种继承关系,一个类只能使用一次继承关系。可以通过继承多个接口实现多重继承 |
一个类可以实现多个interface |
数据成员 |
可有自己的 |
静态的不能被修改即必须是static final,一般不在此定义 |
方法 |
可以私有的,非abstract方法,必须实现 |
不可有私有的,默认是public,abstract 类型 |
变量 |
可有私有的,默认是friendly 型,其值可以在子类中重新定义,也可以重新赋值 |
不可有私有的,默认是public static final 型,且必须给其初值,实现类中不能重新定义,不能改变其值。 |
设计理念 |
表示的是"is-a"关系 |
表示的是"like-a"关系 |
实现 |
需要继承,要用extends |
要用implements |