`

why concrete class must implement abstract method while abstract class need not

 
阅读更多

yes, just as the title...why concrete class must implement abstract method while abstract class need not. Here we have two cases, one is concrete class extends abstract class, the other is abstract class extends abstract class.the reason why concrete class must implement abstract method, i think it is if concrete class doesn't implement abstract method which it inherited from its abstract father class, then the method it inherited is abstract which obviously is not permitted in a thorough concrete class. i.e. it doesn't make sense that a concrete class contains the abstract part. while the abstract subclass can.

分享到:
评论

相关推荐

    Java_abstract_example.rar_abstract class_抽象

    `ConcreteClass`是`AbstractClass`的子类,实现了`doSomething()`方法,并在`main`方法中创建了`ConcreteClass`的对象,调用了继承自抽象类的方法。 抽象类的主要用途包括: 1. **封装变化**:抽象类可以封装可能...

    TemplateMethod.zip

    在这个例子中,`AbstractClass`是抽象基类,它定义了模板方法`templateMethod`,并声明了两个抽象方法`primitiveOperation1`和`primitiveOperation2`。`ConcreteClass1`和`ConcreteClass2`是具体的子类,它们实现了...

    抽象类的小练习abstractExercise

    在这个例子中,`ConcreteClass1`和`ConcreteClass2`都继承自`AbstractClass`,并各自提供了`someAbstractMethod`的实现。 总结一下,`abstractExercise`这个练习项目让我们有机会实践Java中的抽象类和抽象方法。...

    设计模式专题之(十三)模板模式---设计模式模板模式示例代码(python--c++)

    在这个例子中,`AbstractClass`定义了`templateMethod`,它包含了算法的骨架。`primitiveOperation1`和`primitiveOperation2`是模板方法中需要子类实现的具体步骤,这些步骤在抽象类中被声明为纯虚函数。 而在...

    Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现

    在这个例子中,`AbstractClass`定义了`templateMethod`模板方法,其中`step1()`是具体实现,而`step2()`和`step3()`作为抽象方法由`ConcreteClass1`和`ConcreteClass2`这两个具体类来实现。这样,不同的具体类可以...

    设计模式之模板方法模式Java实现和类设计图

    在这个例子中,`AbstractClass`定义了`templateMethod`,它调用了`primitiveOperation1`和`primitiveOperation2`这两个抽象方法。`ConcreteClass1`和`ConcreteClass2`是抽象类的子类,它们分别提供了这两个方法的...

    模板模式

    在这个例子中,`AbstractClass`定义了模板方法`templateMethod`,它包含了三个步骤。`step3`是一个具体方法,而在`step1`和`step2`上使用了抽象方法,由`ConcreteClass1`和`ConcreteClass2`这两个子类来实现具体的...

    模板方法设计

    在这个例子中,`AbstractClass`定义了`templateMethod()`,它调用了`primitiveOperation1()`和`hook()`。`ConcreteClass1`和`ConcreteClass2`是具体实现,它们分别重写了`hook()`和`primitiveOperation1()`,实现了...

    设计模式-模板方法模式(讲解及其实现代码)

    在这个例子中,`AbstractClass` 是抽象类,`templateMethod` 是模板方法,`step1`、`step2` 和 `step3` 是基本方法,其中 `step2` 提供了一个默认实现,`step3` 是一个钩子方法,子类可以选择是否覆盖。`Concrete...

    代数:抽象和具体Algebra: Abstract And Concrete

    本文以适合高年级本科生和研究生的水平全面介绍了现代或抽象代数。

    PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解

    在这个例子中,`AbstractClass`是抽象类,包含两个抽象方法,`ConcreteClass1`和`ConcreteClass2`是它的子类,实现了这两个抽象方法。`printOut`方法是普通方法,子类可以选择是否覆盖。 了解并正确使用`abstract`...

    Template(模板模式)

    模板模式的核心结构包括抽象类(AbstractClass)和具体类(ConcreteClass)。抽象类定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。子类可以通过继承的方式,重写父类中定义的那些步骤,以实现不同的功能,...

    C++ Template模式

    在这个例子中,`AbstractClass`是抽象模板,定义了`templateMethod`模板方法,其中调用了`step1`和`step2`两个抽象方法。`ConcreteClass1`和`ConcreteClass2`是具体模板,它们分别实现了`step1`和`step2`,提供了...

    java英文笔试

    **Answer**: In Java, an abstract class can have both abstract and non-abstract (concrete) methods, whereas an interface can only have abstract methods (since Java 8, interfaces can also have default ...

    Java抽象类.pdf

    public class ConcreteClass extends AbstractClass { @Override public void abstractMethod() { System.out.println("这是抽象方法的具体实现!"); } } ``` 通过这种方式,抽象类提高了代码的可扩展性和可...

    javafx-8u152-apidocs-api

    Note that the start method is abstract and must be overridden. The init and stop methods have concrete implementations that do nothing. Calling Platform.exit() is the preferred way to explicitly ...

    app_C#_class_

    public class ConcreteClass : AbstractClass { public override void MyAbstractMethod() { // 实现 } } ``` 7. **封裝**: C# 强调封装,即将数据和行为包装在一起,保护数据免受外部的直接访问。通过使用访问...

    模板方法模式Demo

    public class ConcreteClass extends AbstractClass { @Override protected void step1() { // 子类的实现 } } ``` 3. **调用模板方法** 当在客户端代码中使用时,我们只需要创建子类对象并调用模板方法,...

    PHP 抽象方法与抽象类abstract关键字介绍及应用

    `ConcreteClass`继承了`AbstractClass`,并实现了抽象方法`getValue()`。当创建`ConcreteClass`的实例并调用`printOut()`方法时,会执行`ConcreteClass`中`getValue()`方法的实现,并打印出来。 要注意的是,抽象...

    设计模式专题之(十)桥接模式---设计模式桥接模式示例代码(python--c++)

    4. 具体实现(Concrete Implementor):实现实现接口,提供具体的操作实现。 让我们分别看看Python和C++的示例代码。 在Python中,我们可以这样表示: ```python # 抽象接口 class Abstract: def __init__(self,...

Global site tag (gtag.js) - Google Analytics