我在tutorial中找到了此声明: "如果一个类是抽象的并且无法实例化,那么该类没有太多用处,除非它是SUBCLASS"
这似乎不对。 我想知道他们真正的意思是: "如果一个类是抽象的并且无法实例化,那么除非它是SUPERCLASS,否则该类没有多大用处。
你同意吗?谢谢。答案 0 :(得分:3)
我一直在阅读那个教程,这不是最难找到的句子。例如:
“抽象是指在OOP中使类抽象化的能力。”
一般来说,“教程”的作者似乎都在四处走动所有概念,用他或她在别处找到的句子,但不是真正理解它们。
如果您正在学习面向对象的编程,验证源是一个很好的起点。 Bruce Eckel的书被认为是一个非常好的学习资源,您可以购买一本书,下载书的开头,或下载完整的以前版本:
http://www.mindviewinc.com/Books/TIJ4/PurchaseBook.php
阅读免费演示会让你比完整的“教程”更好。
答案 1 :(得分:2)
也许真正意味着什么是"除非它是SUBCLASSED" (这意味着创建了它的子类),这更有意义。
答案 2 :(得分:1)
抽象类
1.Define structure, identity and some default supported behaviour .
2. Applicable to show vertical inheritance, i.e. deep branching on the several levels (e.g. AbstractEntity class in domain driven development)
3. Members can have different visibility (from public to private)
4. You can implement some members (e.g. *Reader classes)
5. Inheritance child can have only one base abstract class
答案 3 :(得分:0)
Abstract
类是一个类,其行为由其子类定义(尽管可以为抽象类定义一个通用的behvaior作为基类)。
因此,如果您没有实现该行为的子类,那么它实际上没有用处。 (通过不允许您实例化抽象类来反映)
" 如果一个类是抽象的,不能实例化"
不是正确的语句,因为永远不能实例化抽象类。