A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© itheima01 中级黑马   /  2013-4-14 18:49  /  1292 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 itheima01 于 2013-4-17 23:31 编辑

是不是越往上抽取越抽象,越往下继承权限越大?谁能帮俺具体讲解解释一下。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

4 个回复

倒序浏览
不认为

仅仅是当你设计的时候,总结出来共有的抽象作为上层,特有的操作放在下层

举个例子

class A{
}
class B extens A
{
}

你能说A比B抽象?

B比A权限大?

仅仅作为设计思想来说,抽象使程序更加的可扩展。
但是继承绝不是“好的”。
一般都使用组合。。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
山西_李帅 来自手机 中级黑马 2013-4-14 20:46:34
藤椅
本帖最后由 山西_李帅 于 2013-4-14 21:38 编辑

说法不对,楼主要多看看继承和多态。
你建立了B的对象,而且是通过多态建立的。
A a = new B()这样你能通过子类去操作父类的方法吗,很显然不能。但是却能操作父类的属性,这是多态的特性。
至于抽象类,不知道你发现没,它有一个好处,那就是强制要求继承它的子类重写它的方法。用白话文说就是强制它的子类做什么事。这个用法很大啊

那么A a = new A();建立父类的对象,那你能操作子类吗?很显然也不能。
所以呢,两者冲突,建议楼主一定要多看面向对象的多态。很重要很重要,后面经常用的到

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
一般情况下。。。仅仅是当你设计的时候,总结出来共有的抽象作为上层,特有的操作放在下层这句不错。还有,重写的方法权限不能小于父类的权限。
回复 使用道具 举报
itheima01 发表于 2013-4-15 22:12
一般情况下。。。仅仅是当你设计的时候,总结出来共有的抽象作为上层,特有的操作放在下层这句不错。还有, ...

你好像已经明白了,如果问题解决了,请将问题分类改为“已解决”,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马