抽象
2016-07-18 16:16
176 查看
抽象
Shape类表达的是一种概念,一种共同属性的抽象集合,我们并不希望任何Shape类的对象会被创建出来。那么,我们就应该把这个Shape类定义为抽象的。我们用abstract关键字来定义抽象类。抽象类的作用仅仅是表达接口,而不是具体的实现细节。抽象类中可以存在抽象方法。抽象方法也是使用abstract关键字来修饰。
抽象的方法是不完全的,它只是一个方法签名而完全没有方法体。
如果一个类有了一个抽象的方法,这个类就必须声明为抽象类。
如果父类是抽象类,那么子类必须覆盖所有在父类中的抽象方法,否则子类也成为一个抽象类。
一个抽象类可以没有任何抽象方法,所有的方法都有方法体,但是整个类是抽象的。
设计这样的抽象类主要是为了防止制造它的对象出来。
抽象函数/抽象类
抽象函数:表达概念而无法实现具体代码的函数
抽象类:表达概念而无法构造出实体的类
带有abstract修饰符的函数
有抽象函数的类一定是抽象类
抽象类不能制作对象
但是可以定义变量
任何继承了抽象类的非抽象类的对象可以赋给这个变量
继承自抽象类的子类必须覆盖父类中的抽象函数
否则自己成为抽象类
两种抽象:
1、与具体相对,表达一种概念而非实体
2、与细节相对,表示在一定程度上忽略细节而着眼大局
相关文章推荐
- Java Web 技术学习主线
- CSS高级技巧:阴影效果
- [LED]如何配置LCD背光和LED,调试方法
- poj2955 Brackets 【区间dp】
- 15.析构函数
- C/C++ 静态链接库(.a) 与 动态链接库(.so)
- 每天一个linux命令(53)--ps命令
- 简单判断是否是微信打开页面代码
- ES
- Android发送验证码倒计时
- 多线程Java
- Mac OS X窗口最小化方法的几个快捷键
- Hibernate总结(一)--之hibernate配置文件
- java格式化时间到毫秒
- [poj 2001]Shortest Prefixes [Trie]
- cookie 和session 的区别详解
- 常用Linux命令
- 复制”链接文件“到虚拟机(VirtualBox)的”共享文件夹“时报错:创建符号链接时报错:只读文件系统
- 《UNIX环境高级编程第三版》apue.h等源码文件的编译安装
- nltk官方学习资料