文章标题
来源:互联网 发布:设置mysql远程访问 编辑:程序博客网 时间:2024/05/22 15:49
对抽象类的理解
编写一个类的时候,会为该类定义一些方法,用以描述该类的行为方式;
有一种特殊的情况,父类只是知道其子类应该包含什么方法,但是无法准确的知道这些子类怎样实现这些方法;
抽象方法和抽象类
必须用abstract修饰符来定义抽象方法和抽象类;存在抽象方法的类只能被定义成抽象类,然而抽象类里面可以不存在抽象方法;
抽象方法不能有方法体
抽象方法不能被实例化,即无法使用new关键字来调用抽象类的构造器来创建抽象类的实例
抽象类可以包含成员变量、方法、构造器、初始化块、内部类5中成员,但是抽象类的构造器不能用于创建实例,主要是用于被其子类继承
static和abstract不能同时修饰某个方法:因为当使用static修饰一个方法时,表示这个方法属于类本身,即可以通过类来调用该方法,但如果用abstract修饰就会被定义成抽象方法;这样则会导致该类来调用该方法的时候出现错误(调用了一个没有方法体的方法肯定会引起错误),所以static和abstract不能同事修饰某个方法;
P188,一个方法继承了抽象类,实现了相关的方法;而另一个类也继承了同样的抽象方法,利用多态的优势,就不用在自己的类里面写出方法的实现;这样就相当于抽离出来了工具累的样子回头好好研究一下
实现调用同样的方法,得到不同的结果
利用抽象类和抽象方法就可以更好的发挥多态的优势,让程序更加的灵活,降低耦合度;
抽象类的作用
好激动,涉及到一些简单的算法的内容了
抽象类的定义:抽象类是从多个具体类抽象出来的父类,它据有更高层次的抽象。从多个具体类抽象出一个抽象类,一这个抽象类为其子类的模板
抽象类体现的是一种模板模式的设计,抽象类作为多个子类的通用模版
1、编写一个抽象父类,父类提供多个多个子类的通用方法,并把一个或多个方法留给其子类来实现,这就是一种模板模式;
2、第二张范例模式是:父类的普通方法一类与一个抽象的方法,二抽象的方法则推迟到子类来提供实现;P189
模板模式的一些简单规则
1、抽象父类可以只定义需要使用的某些方法,把不能实现的部分抽象成抽象方法,留给其子类去实现
2、父类中可能包含需要调用其他系列方法的方法,这些被调用的方法既可以偶父类来实现,也可以由子类来实现,父类里提供的方法只是定义了一个通用算法;
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- JAVA对称加密算法汇总及实现
- 【leetcode】【121】Best Time to Buy and Sell Stock
- Query cache(高速查询缓冲池)
- AngularJS PhoneCat代码分析
- Git协作流程及常用命令
- 文章标题
- [opencv]Kalman滤波跟踪
- shell-读取电子书
- haproxy 关闭ssl 3.0 加密
- dfs算法在非图结构中的运用
- MVVM框架
- 支持向量机通俗导论(理解SVM的三层境界)
- Sql_Server中如何判断表中某列是否存在
- 抽象、函数方法类的区别与理解