类到对象是实例化,对象到类是抽象。
抽象类(例子):

1、什么是抽象类
类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象《无法实例化》。
2、抽象类属于什么类型?
抽象类也属于引用数据类型。
3、抽象类怎么定义?
语法:
[修饰符列表]abstract class类名{类体;
}
4、抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。
5、final和abstract不能联合使用,这两个关键字是对立的。
6、抽象类的子类可以是抽象类。
7、抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。
什么是抽象方法呢?
抽象方法表示没有实现的方法,没有方法体的方法。
例如: public abstract void dosome () ;
抽象方法特点是:
特点1:没有方法体,以分号结尾。
特点2:前面修饰符列表中有abstract关键字。
9、抽象类中不一定有抽象方法,但抽象方法一定在抽象类中
10、一个非抽象的类,继承抽象类,必须将抽象类中的抽象方法进行覆盖/重写/实现。
抽象类型能不能使用多态?
多态:父类型引用指向子类型对象。
Animal a = new Bird() ; //向上转型。(父:animal,子:bird)
//这就是面向抽象编程。
//以后你都是调用的a.xXXX
// a的类型是Animal, Animal是抽象的
//面向抽象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力。
//这种编程思想符合OCP原则。
0CP (Open-Closed Principle),它的核心含意是:一个好的设计应该能够容纳新的功能需求的增加,但是增加的方式不是通过修改又有的模块(类),而是通过增加新的模块(类)来完成的,也就是在设计的时候,所有软件组成实体包括接口,函数,函数等必须是可扩展但不可修改的。如果一个设计能够遵循OCP,那么就能够有效的避免上述的问题。
编程可多使用多态
接口(特殊化的抽象类)
接口的相关介绍:
1、接口是一种“引用数据类型”。
2、接口是完全抽象的。
3、接口怎么定义:[修饰符列表] interface接口名{}
4、接口支持多继承。
5、接口中只有常量+抽象方法。
6、接口中所有的元素都是public修饰的
7、接口中抽象方法的pubiic abstract可以省略。
8、接口中常量的public static final可以省略。
9、接口中方法不能有方法体。
10、一个非抽象的类,实现接口的时候,必须将接口中所有方法加以实现。
11、一个类可以实现多个接口。
12、extends和implements可以共存,extends在前,implements在后。
13、使用接口,写代码的时候,可以使用多态(父类型引用指向子类型对象)。
接口的基础语法:
1、类和类之间叫做继承,类和接口之间叫做实现
2、继承使用extends关键字完成。
实现使用implements关键字完成。
2、五颗星(*):当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写)。
示例代码:
public class Test01{
public static void main (string [] args){
}
}
//定义接口
interface A{
}
//接口支持继承
interface B{
}
//一个接口可以继承多个接口(支持多继承)
interface c extends A,B{}
//我的数学接口
interface MyMath{
//常量
//public static final double PI = 3.1415926;
//public static final可以省略吗? 可以
double PI = 3.1415926;
//抽象方法
//public abstract int sum (int a, int b) ;
//接口当中既然都是抽象方法,那么在编写代码的时候,public abstract可以省略吗?可以
int sum (int a, int b) ;
//接口中的方法可以有方法体吗?
//错误:接口抽象方法不能带有主体
void dosome () {
}
类型和类型之间的关系:
is a (继承)、 has a(关联)、like a(实现)
is a:
Cat is a Animal (猫是一个动物)
凡是能够满足is a的表示"继承关系"
A extends B
has a:
i has a Pen(我有一支笔)
凡是能够满足has a关系的表示"关联关系"
关联关系通常以"属性"的形式存在。
A{
B b;
}
like a :
Cooker like a FoodMenu(厨师像一个菜单一样)
凡是能够满足like a关系的表示" 实现关系"
实现关系通常是:类实现接口。
A implements B
本文详细介绍了抽象类和接口在面向对象编程中的概念和应用。抽象类用于提取共同特征,不能实例化,主要用于被子类继承;抽象方法是没有实现的方法。接口则是完全抽象的,支持多继承,只能包含常量和抽象方法,用于类的实现。多态性是面向抽象编程的核心,允许父类型引用指向子类型对象,提高程序的扩展性和灵活性。遵循开放封闭原则(OCP),使用多态和接口能有效降低耦合度。
268

被折叠的 条评论
为什么被折叠?



