前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >抽象类与抽象方法

抽象类与抽象方法

作者头像
sr
发布2018-08-20 10:07:02
3990
发布2018-08-20 10:07:02
举报
文章被收录于专栏:swag codeswag code

在我们抽象实例对象的时候,有这样一种情况,往上层抽象时就会发现很难描述对象的属性和行为,比如“形状” ,其方法计算面积怎么计算?正方形知道怎么计算,长方形也知道怎么计算,但是形状呢,你肯定会问什么形状,不告诉我,我怎么计算呢?好吧,形状确实是有面积的,但是又无法描述其实现方式,这种包含类我们可以抽象出一个抽象类。

抽象类由于其有可能有无法实现的方法(抽象方法),所以不能被实例化。

抽象类的特征

1)使用abstract关键字修饰的类称为抽象类 2)抽象类不能实例化对象,原因是抽象方法无法被调用 3)有抽象方法的类肯定是抽象类,但是抽象类中不是必须有抽象方法

如果许多类都有相同的方法,单实现方式不一样,这样我们可以抽象出父类,在父类中声明方法但是并不进行实现,交由其子类实现。

抽象类用来规范一些子类的行为的,它可以做父类。

如:动物类,我们知道动物有移动的行为,有吃的行为但是你能知道动物是怎么移动,怎么呼吸,吃什么吗?不是具体的动物相信你肯定无法回答,这样我们就需要创建抽象的动物类

public abstract class Animal { } 

抽象动物类 1.抽象类不能直接实例化,必须通过子类

abstract void eat(); 

抽象吃的方法(行为) 2.抽象方法只需声明,不需要实现

附图,这个比喻无敌~~~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档