`
renyanwei
  • 浏览: 70875 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

接口和抽象类应该各司其职 各尽所能

OOP 
阅读更多

很多初学者在理解接口和抽象类的区别的时候总是会混淆不清两者之间的区别,本人当然也是,于是乎,看着网上的教程说接口好,于是,滥用接口就开始了,完全抛弃抽象类的存在

 

其实不用一味的去理解他们之间的区别,他们之间有什么区别? 非要深入知道么,只要回答一个类可以实现多个接口却只能继承一个抽象类就可以了,没任何意义,本人觉得问这个问题的人就存在问题,应该这么问:接口用在哪里,抽象类又用在哪里,这样就比较好理解了

 

首先来看下这张图

 

从这张图上我们可以总结关键性几点

1.抽象类是一组具有同一类型的实体类的共有部分的提取

2.接口不关心实现它的实体类是否是同一类型,一只鸟和一架飞机都可以实现飞的接口,虽然它们八不着边

3.如果同一类型具有同一行为,那么应该考虑抽象类,如果不同类型具有同一行为,那么应该考虑接口

4.设计一个接口不应该偏向某一类型,否则会造成实现这个接口的其他类型必须实现不必要的方法

5.如果接口和抽象类存在冲突,应该首先考虑接口,也就是说把飞的方法放到接口里而不是抽象类里

 

下面看一个小实例

设计一只海鸥和一架波音飞机

 

由于这两个东西都能飞,首先我们设计一个接口

//能在天上飞的接口
public interface IFly
{
	void fly();
}

 设计到了两个类,鸟和飞机,我们也可以把他们抽象出来

//飞机的抽象类
public abstract class Phone
{
	//获取载客量
	abstract int getPassengerCount();
}
//鸟的抽象类
public abstract class Bird
{
	//获取性别 O__O
	abstract int getAge();
}

 然后把鸟生出来再把飞机造出来

//海鸥
public class Seagull extends Bird implements IFly
{
	public int getAge()
	{
		//公的母的你说了算 O(∩_∩)O哈哈~
	}
	public void fly()
	{
		//飞喽~~
	}
}

//波音
public class Boeing extends Phone implements IFly
{
	public int getPassengerCount()
	{
		//最少得能坐上七八个吧
	}
	public void fly()
	{
		//各位旅客,飞机已经起飞,请坐稳扶好
	}
}

 可以根据接口和抽象类写出更多鸟和飞机(造个骆驼就无能为力了)

最后自己总结:可以不用接口抽象类,但不要拿接口当抽象类,可以不OOP 但不要乱OOP

 

注:以上纯粹个人观点,如果大牛认为哪些不正确的话非常希望留下您的意见,谢谢了

3
1
分享到:
评论
3 楼 song1990919 2012-03-22  
比喻很生动,很好理解[b][/b]
2 楼 color4you 2008-10-29  
非常不错,参考!
1 楼 ay_guobo 2008-10-26  
加我个好友吧
老乡
呵呵
我是郑州的

相关推荐

    JAVA的面向对象编程笔记(经典)

    本文主要介绍了Java面向对象编程的基本概念和原则,包括对象、类、继承、多态、封装、抽象等概念的定义和解释,并通过实例讲解了面向对象编程的思想和方法。 一、什么是对象? 在面向对象编程中,对象是最基本的...

    JAVA个人学习笔记

    面向对象编程思想的主要特点是高内聚、低耦合,能够使系统各部分各司其职、各尽所能。 类和对象的概念 在JAVA中,类是对象的抽象,类是对象的模板,对象是类的实例。对象有两个方面:属性(what)和方法(how)。...

    Java学习笔记(必看经典)

    其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。 对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。这样才能使每个对象本身做成最好的。 对于对象的要求:高内聚、低耦合,这样容易...

    我们崇尚公平正义.ppt

    - 公平有助于整个社会的持续发展,使每个成员都能各司其职,各尽所能,各得其所。 3. 理智面对社会生活中的不公平: - 公平总是相对的,受限于社会条件,不公平现象难以完全避免。 - 面对不公平,我们要理性看待...

    职业生涯管理的基本理论.ppt

    这其中包括特质-因素理论,强调个人特质与职业需求的匹配,如西邻公五子的例子,各尽所能,各司其职。此外,还有择业动机理论,认为职业选择受个人的职业价值观和职业要素评估影响,以及社会学习理论,关注环境和...

    四大名著谈团队管理培训教材.pptx

    这表明,有效的团队管理不仅要关注关键人物,还要关注每一个成员的成长和发展,使团队成员各尽所能,共同进步。 在实际工作中,我们可以借鉴《西游记》的教训,设定清晰的团队目标,培养团队精神,明确角色定位,...

    国立中山大学企业管理学系二年制在职专班.doc

    【国立中山大学企业管理学系二年制在职专班】的学习内容主要涵盖了组织绩效提升的途径、工作绩效的分类、组织绩效的成功策略以及激励理论等多个方面,旨在帮助在职人员提升管理能力和组织效率。 一、工作绩效提升的...

    我与集体共成长教案【人教版《道德与法治》七年级下册】.pdf

    为集体出力需各尽所能,发挥所长,如案例中李磊、美美和大刚各司其职,共同完成板报。同时,勇于担责是成长的必经之路,即使面临挫折,也应有责任感和集体荣誉感,因为这不仅是个人成就的基础,也是集体发展的必要...

    精品课件资料公平是社会稳定的“天平”58404.ppt

    公平的感受能够促进社会各阶层人员各司其职,各尽所能,各得其所,这有利于社会资源的有效配置,推动社会整体的进步。同时,公平的环境可以降低社会冲突,维护社会稳定,为国家的繁荣和发展提供良好的社会基础。 ...

    帝王学的智慧.docx

    领导者应该"以不能为能",即自身不必精通所有事务,但要擅长识别和使用人才。 2. 帝王用人术:历史上成功的领导者如刘邦,懂得如何运用人才,让每个人发挥其所长。例如,刘邦的团队中,张良负责战略,萧何处理后勤...

    重庆市涪陵九中八级语文上册《第24课 大道之行也》课件 新人教.ppt

    在这个社会里,人们选举贤能之人治理国家,强调诚信和和睦,每个人都能够各司其职,各尽所能。这里的“大同”社会体现了儒家的公平、和谐、共享的价值观,是对社会公正和人类理想的向往。 在学习这篇文章时,学生...

    (呼和浩特专版)2019年中考政治复习方案课堂5分钟八下第九课我们崇尚公平.pdf

    (2) 对社会整体,公平有助于形成人人各司其职、各尽所能、各得其所的局面,进而推动社会持续发展,有利于社会的长治久安。 3. 如何理智地面对生活中的不公平: (1) 需要认识到公平是相对的,我们无法消除所有不...

    八年级政治下册第四单元阶段专题复习.ppt

    - 对于社会整体而言,公平有助于社会资源的有效分配,使每个人都能各司其职,各尽所能,各得其所,进而推动社会的持续稳定发展。 2. 公平就业的意义: - 公平的就业机会对于大学生至关重要,因为它不仅关乎个人的...

    安全——我们的生命线.docx

    每个人都需要各司其职,各尽所能,消除自身工作范围内的安全隐患,因为保障安全是每个人的共同责任。 安全也是一种态度,是电力行业工作的首要原则。“安全第一”不仅是一句口号,更是日常操作的行为准则。忽视安全...

    php面向对象全攻略 (一) 面向对象基础知识

    1.面向对象的概念 面向对象编程(Object ...其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。为编程人员敞开了一扇大门,使其编程的代码更简洁、更易于维护,并且具有更强的可重用性。有人说PHP 不是一个

    汽车4S店薪酬制度(附工资标准表).docx

    首先,制度遵循的原则包括各尽所能、按劳分配,强调工资增长与公司经济效益和劳动生产率增长的关联性。此外,制度还倾向于对风险较大、责任重大的岗位给予更高的薪酬,以构建激励机制。年薪制主要针对高层管理人员,...

    公司工资制度方案.doc

    首先,总则部分明确了制定工资制度的依据和原则,即遵循国家劳动人事政策,考虑公司经营理念和管理模式,同时确保工资增长与公司经济效益和劳动生产率增长相匹配,以实现各尽所能、按劳分配的原则。 接着,年薪制...

    七年级政治知识点总结.doc

    1. 创建班集体:创建新集体的核心在于设定共同目标,让每个成员都能各尽所能,发挥所长,并通过团结协作互相支持。这有助于培养学生的团队精神和协作能力。 2. 学习方法与学习的苦与乐:学习是既有挑战也有乐趣的...

    XX公司工资制度方案.doc

    遵循“各尽所能、按劳分配”的社会主义分配原则,同时坚持工资增长与公司经济效益和劳动生产率增长同步,以避免过度拉开收入差距。此外,方案强调根据员工的岗位责任、工作绩效、工作态度和技能来确定报酬,并倾向于...

Global site tag (gtag.js) - Google Analytics