抽象类和接口 引用整理。

来源:互联网 发布:pptv网络电视无法播放 编辑:程序博客网 时间:2024/06/08 17:15
接口与抽象类,都是归纳,所不同的是,接口是在归纳形式,抽象类在归纳内容.两者就是形式与内容的关系.
//====================================
单继承,多扩展。继承是类,扩展是接口。

接口的作用很大程度就是为了实现多态,当然继承也是实现多态的一种手段。扩展比继承更加抽象一点。

继承的好处就是有属性啊。有算法啦。等等。

接口就是为了满足单继承的不足而出现的。举例:动物都能吃东西。那是不是能吃东西的就是动物呢?食人花就是植物。那食人花继承动物就不对了。咋办?能吃东西的这个分类做个接口。动物、食人花都去扩展他就行了。

接口也能当数据类型用:function asdf(s:ITshenm):void
ITshenm就是接口
//=================================
抽象类和接口都是面向对象编程中继承、多态这个连个特性的很好体现。以你相机的例子来说。首先我们有一个接口叫做“相机”,而拍摄是这个接口的一个功能或者描述。另外我们还有个两个抽象类(也就可以说是基类):普通相机和数码相机,这两类都是事先了拍摄的功能,所以说都是对“相机”的实现,换个说法就这两种都是“相机”。那么如果在现实的生活中的某一时刻你的领导向你提出要求:“我需要相机,你给我一个。”,那么不管你手中的是普通相机还是数码相机,只要你把相机给他了,你的任务完成。

接口里的方法是不能有具体实现的,也不能用public private等修饰
只能写成 function fun(nums:uint):void;

一个对象,implements了一个接口,说明该对象有这个接口提供的功能。(has)
如果extends了一个基类,那么该对象是这个基类(is)
比如相机是基类,拍摄是接口,那么数码相机就是extends相机,implements拍摄

// ==================================
简单理解就是通用化 , 就像硬盘,只要接口确定好,那么到底是西数的硬盘 还是希捷的硬盘,那都不重要了

只要是实现了硬盘的 IDE或者 SATA接口功能,就可以对接上使用。

最简单最基础的理解是这样~~~~~~~在编程上的作用就是减少依赖,随时可以使用实现相同接口的类来替补上,假如需求有变动的时候,而不怕牵一发而动全身。

接口是一种约定俗成的工具

作为接口数据类型  控制传入或处理的数据必须符合该类型
// ============================

抽象类定义类的结构,接口定义功能

// ============================================================

殿堂之路:
    抽象类: 当一个父类不需要生成自己的实例,只是用来继承时,这个类就是 抽象类 。 这样的父类会综合子类的一些行为,尽量将子类的共同的代码写入自身。子类就在这个抽象类的基础上,发展自己的代码。
    
    一个理想的继承架构设计中。所有的具体类都应该继承于抽象类,
    原则:1.抽象类应当拥有尽可能多的子类共同代码。 2.抽象类中的数据能少则少。
    另外抽象类中定义的抽象方法都必须在子类中重写。
0 0
原创粉丝点击