黑马程序员技术交流社区

标题: 抽象和权限 [打印本页]

作者: itheima01    时间: 2013-4-14 18:49
标题: 抽象和权限
本帖最后由 itheima01 于 2013-4-17 23:31 编辑

是不是越往上抽取越抽象,越往下继承权限越大?谁能帮俺具体讲解解释一下。
作者: 王大斌    时间: 2013-4-14 19:17
不认为

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

举个例子

class A{
}
class B extens A
{
}

你能说A比B抽象?

B比A权限大?

仅仅作为设计思想来说,抽象使程序更加的可扩展。
但是继承绝不是“好的”。
一般都使用组合。。
作者: 山西_李帅    时间: 2013-4-14 20:46
本帖最后由 山西_李帅 于 2013-4-14 21:38 编辑

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

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

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

作者: 黄玉昆    时间: 2013-4-17 08:44
itheima01 发表于 2013-4-15 22:12
一般情况下。。。仅仅是当你设计的时候,总结出来共有的抽象作为上层,特有的操作放在下层这句不错。还有, ...

你好像已经明白了,如果问题解决了,请将问题分类改为“已解决”,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2