下面是我的密码。
public abstract class AbstractClass {
public String publicMethod() {
System.out.println("This is Public Method");
return "This is Public Method";
}
abstract public String abstractMethod();
}
public class ConcreteClass extends AbstractClass{
我想知道是否可以用C#编写以下代码:
AbstractClass a = new ConcreteClass1();
a.Operations.Method1();
AbstractClass b = new ConcreteClass2();
b.Operations.Method2();
其中,Method1()为ConcreteClass1实例所独有,而Method2()为ConcreteClass2()实例所独有。因此,a.Operations.Method2()和b.Operations.Method1()将无效。
我对抽象类有点困惑了!我已经读了更多的文章写的堆叠溢出和另一个网站,但我不明白!所以我又看了看我的书,但我也不明白。因此,请逐步分析下面的代码:
提前感谢
<?php
abstract class AbstractClass
{
abstract protected function getValue();
public function printOut() {
print $this->getValue();
}
}
class ConcreteClass1 extends AbstractClass
{
protected function getValue() {
在我的具体类中,我只需要实现(设置为public)抽象类的某些方法。所以我不能扩展它,因为所有的抽象方法都是公共的。
我可以使用组合,并转发我需要的方法,但我显然需要实现抽象类。所以,我想知道,在私有类中实现抽象类,然后在父类中只转发内部类所需的方法,这是一种很好的方法吗?
例如:
public class ConcreteClass{
private InnerClass inner = new InnerClass();
public String fwMethod() {
return inner.method1();
}
priva
注意,我认为abc本身并不能解决我想要的问题。以另一种可能更好的方式进行重述,我正在寻找一种部分实现Parent.method的方法,但是需要有一个Subclass.method,它使用并添加了部分Parent.method实现。
我想部分地定义一个抽象类方法,但仍然需要在子类中实现该方法。例如:
class AbstractClass(object):
def amethod():
# some code that should always be executed here
vars = dosomething()
# Bu
我需要在每个扩展ConcreteClass的AbstractClass中定义常量值。由于某种原因,对象最终具有重复字段,一组字段等于零,下一组字段具有适当的值。
SomeInterface
public interface SomeInterface{
double calculate();
}
AbstractClass
public abstract class AbstractClass implements SomeInterface{
double x, y;
public double calculate(){
ret
在抽象类也是抽象类的情况下,单元测试采用泛型类型参数的抽象类的正确方法是什么?例如)
public abstract class BaseClass<T> where T : BaseT { ... }
我必须创建一个扩展BaseT的测试类,对吗?
如果BaseClass支持这样的方法链接会发生什么
public abstract class BaseClass<T> where T : BaseClass<T> { ... } ??
谢谢。
更新了第二个案例的具体类示例:
public class ConcreteClass : BaseClass
我有过
ISomeInterface
public interface ISomeInterface{
public void myMethod();
}
AbstractClass
public abstract class AbstractClass implements ISomeInterface{
public void myMethod(){
//...here goes implemetations
}
}
ConcreteClass
public class ConcreteClass extends AbstractClass {
我的情况是,当从AbstractMethod调用ImplementClass方法时,我希望强制调用AbstractClass中的MustBeCalled方法。我从来没见过这种情况。谢谢!
public abstract class AbstractClass
{
public abstract void AbstractMethod();
public void MustBeCalled()
{
//this must be called when AbstractMethod is invoked
}
}
public class Impl
我正在编写一个库,其中我需要一个接受(可能)抽象类型的方法,并返回该类型的具体子类型的实例:
# script.py
from typing import Type
from abc import ABC, abstractmethod
class AbstractClass(ABC):
@abstractmethod
def abstract_method(self):
pass
T = TypeVar('T', bound=AbstractClass)
def f(c: Type[T]) -> T:
# find con
我了解到我们不能实例化抽象类。但今天我测试了一些代码,我对此感到困惑。
package MainPackage;
abstract class abstractClass {
abstract abstractClass a_function();
}
public class Src {
abstractClass m;
public abstractClass abstractClassTest() {
return m.a_function();
}
public static void main(String args[])