polymorphism

    0热度

    1回答

    只是为了确保这是我的家庭作业。我需要实现类来计算面积和几何形状的周长。 我需要什么概述:我会在命令行中给出类似“java ShapeTest Rectangle 5 5”的东西,它应该给出该矩形的面积和周长。 这里是我的代码: Shape.java public abstract class Shape { public abstract double area(); public abstr

    0热度

    1回答

    我在Laravel 5.4中设置了多态关系。关系正在工作,但查询使用完全限定的模型名称。 select * from `contact_info` where `contact_info`.`entity_id` = '25' and `contact_info`.`entity_id` is not null and `contact_info`.`entity_type` = 'App\

    -4热度

    1回答

    我已经写下了多态性的例子。 package tsys; public class DynamicPolymorphism { public void eat(){ System.out.println("DynamicPolymorphism"); } } class AnotherClass extends DynamicPolymorphism{

    4热度

    3回答

    在Scala中,有一种通常称为“pimp my library”的设计模式。基本思想是我们有一些类Foo(大概在某些库中我们不能修改),并且我们希望Foo的行为像它有一些方法或行为frobnicate,我们可以使用隐式类来添加方法之后的方法事实。 implicit class Bar(val foo: Foo) extends AnyVal { def frobnicate(): Uni

    2热度

    1回答

    我有一个模型,项目。 每个项目has_many特征。 的特征能够被许多不同的事情: 一个SizeTrait 一个ToppingsTrait 一个FlavorTrait 等 我如何设置Ruby on Rails中这种关系?在普通的Ruby应用程序中,我可以使用鸭子打字,但这需要存储在数据库中。 这就像belongs_to的与多形反转:真正 我想,以避免单一表继承,因为这些特质,同时他们也将共享一个鸭

    2热度

    1回答

    我想创建一个父类,可以处理基本的CRUD函数,但我无法弄清楚如何在静态方法中调用构造函数。 class Model { static find(id) { var attrs = someDBcalls(); var obj = new CurrentClass(attrs); // how? return obj; } } class Us

    0热度

    4回答

    我知道,无论实际的对象是什么,引用变量指的是,我可以调用引用的方法取决于变量的声明类型(在代码的第15行)。我想知道为什么这样。为什么类用户不能使用Shape类型的引用变量s来调用它的子类方法drawCircle()? public class Shape{ public void displayShape(){ System.out.println("shape d

    3热度

    1回答

    我试图创建一个表示空的二叉树(基本上,只有它的骨架)的类型。然后这个类型的变量将被用模式匹配来迭代。 我知道如何从标准类型(int,string等)的多态变体中实例化一个固定 - 请参见下面的int_tree。但是,目前尚不清楚是否可以从多态一个空的变体(empty_tree下面的行在编译过程中失败并伴随SyntaxError)。 的代码如下: type 'a binary_tree =

    1热度

    2回答

    最近在工作中我碰到这个代码来(这是一个人为的例子,但是从根本上做同样的事情): class A { public: int foo; }; class B: public A { public: int bar; }; int main() { A a; a.foo = 1000; B b; A* a_ptr =

    0热度

    2回答

    快速问题:我有一个基类与成员变量,我试图'重写'派生类中的这个值。我该如何做到这一点? 我尝试: class A { public: double i = 1; }; class B : public A { public: double i = 2; }; int main(int argc, char** argv) { B* b = ne