1、抽象类和抽象方法
- 抽象类的概念
- 抽象方法
抽象类的使用案例:
几点抽象类的理解: - 抽象类可以抽象出重要的行为标准,该行为标准用抽象方法来表示。即抽象类封装了子类必需要有的行为标准。
- 抽象类声明的对象可以成为其子类对象的上转型对象,调用子类重写的方法,即体现子类根据抽象类里的行为标准给出的具体行为。
- 开发者可以把主要精力放在一个应用中需要那些行为标准(不用关心行为的细节),不仅节省时间,而且非常有利于设计出易维护、易扩展的程序。
- 抽象类中的抽象方法,可以由子类去实现,即行为标准的实现由子类完成。实现了 行为标准 和 具体实现 的分工。
2、面向抽象编程
核心要素:
//ppt上的例题看不懂…
3、开闭原则
3.1 开闭原则
★ 开闭原则:
例如:
一:
二:
第二个例子一定要看懂 简洁明了!
3.2 设计模式
什么是设计模式?
- 设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
- 每一个设计模式描述一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,我们就能一次一次地使用该方案而不必做重复劳动。
- 模板设计模式
定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。
e.g.模板设计模式的例子——制作不同果汁问题:
4、接口
跟电脑的接口意思相似——
接口的定义:
Java使用关键字interface来定义一个接口。接口的定义和类的定义相似,分为接口的声明和接口体。
接口的声明格式:interface 接口的名字
接口体:接口体中包含常量定义和抽象方法定义两部分
定义接口的一般格式:
[public] interface 接口名 [extends 父接口名] {
[public] [static] [final] 数据类型 常量名=常量值;
//常量声明
[public] [abstract] 返回类型 方法名(参数列表);
//抽象方法声明
}
接口定义注意事项:
- 接口可以抽象出重要的行为标准,该行为标准用抽象方法来表示。接口中只有常量和抽象方法。
- 接口中的变量自动都是public、static,final,可以省略。
- 接口中的方法自动为public abstract,可以省略。
- 接口编译后也产生class文件。
- 接口中没有构造方法。 也就不能通过new构建接口的对象,只能像抽象类一样标示数据类型。
- 接口也具有继承性,可以继承父接口的所有属性和方法。
★ 实现接口
5、接口回调
接口回调是指——可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类重写的接口方法。实际上,当接口变量调用被类重写的接口方法时,就是通知相应的对象调用这个方法。
★ 使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。
★ 有助于理解的例题:
接口作为参数时:
抽象类和接口总结 ——
6、内部类
重要例子 ——
7、匿名类