标签: class-hierarchy

Java:如何编写方法来接受子而不转换为父级?

不知道如何标题这个...

所以,我有三个子类Event:WeightEvent,TimedEvent,RepEvent.通过任何方式,我得到一个孩子的对象.现在我想将该子事件发送到另一个对象中的方法,以便它可以使用该getSavedEvents()方法从中提取数据.该方法仅存在于子项中,因为提取数据特定于事件类型.

我开始了

public void setEvent(Event e) {

但是将我的子对象转换为Event(父)对象.

有没有办法解决这三种不同方法的缺点.一个孩子一个人?

public void setEvent(WeightEvent e) {
public void setEvent(TimedEvent e) {
public void setEvent(RepEvent e) {

谢谢你的建议.

-约翰

java casting parent class-hierarchy

1
推荐指数
1
解决办法
2225
查看次数

Java:超类和子类

  1. 可以将子类变量强制转换为其任何超类吗?
  2. 可以为超类变量分配任何子类变量吗?
  3. 可以为超类分配任何变量吗?
  4. 如果是这样,接口变量是否可以从任何实现类中分配一个变量?

java variables subclass class-hierarchy superclass

1
推荐指数
2
解决办法
6591
查看次数

类的类型和ruby中类的超类有什么区别?

在写下我一再努力理解红宝石的对象模型后,我现在感到困惑:以下是我的观察.

class Bird
  def speak
   puts "tweet tweet"
  end
end

>> Bird.class
=> Class
>> Class.class
=> Class
>> Class.superclass
=> Module
>> Module.class
=> Class
>> Module.superclass
=> Object
>> Object.class
=> Class
>> Object.superclass
=> nil
>> nil.class
=> NilClass
>> NilClass.class
=> Class
>> NilClass.superclass
=> Object 
and keeps going on ....
Run Code Online (Sandbox Code Playgroud)

这里发生了什么 ?什么位于祖先的顶点nil或NilClass或Object或Class?Ruby的对象模型是如何组织的.

什么是类,什么是对象?是阶级还是对象?是对象还是类?

ruby class class-hierarchy object-model

1
推荐指数
1
解决办法
457
查看次数

将属性公开给Spark Skin类

我无法将头部缠绕在与其主机组件相关的火花皮类上.基本上,从我在Flex 4框架中出现的大多数皮肤看到的情况来看,它们并不直接暴露在主机组件中动态设置的属性.相反,它们定义暴露给外观类的状态,以定义组件应该看起来不同的时间.当你拥有一个标准状态集的非常简单的组件时,这一切都很好,但是当你在主机组件中设置了20个不同的属性(假设)应该改变皮肤的外观时它可能变得非常复杂很快.

我已经看到他们习惯于解决这个问题的方法是重写commitproperties并使skin类中的函数无效,从那里获取他们想要的属性的值,然后将它们设置为一个本地实例化的变量.皮肤类.这很好,但我觉得这只是一个修补程序,它使事情变得比它需要的复杂得多.

这是我的问题:有没有办法直接从宿主组件类公开可绑定属性,所以当你定义你的皮肤类时,它可以直接从中读取?假设您有自定义按钮,其布尔属性为"selected".在皮肤类中,您希望为属性"selected"添加get和set函数,这样您就可以在设置时对皮肤执行某些操作.你如何告诉皮肤类这是一个可用的属性供你从主机组件使用?

apache-flex access-modifiers hierarchy actionscript-3 class-hierarchy

1
推荐指数
1
解决办法
1782
查看次数

Java,可以修改抽象类层次结构中超类的方法声明吗?

我有一个UserdataUpdater扩展的抽象类Updater

Updater 有一个方法声明

 public abstract void processRow (Cluster cluster, IAppendOnlyData row);
Run Code Online (Sandbox Code Playgroud)

反正有没有在里面修改这个方法声明UserdataUpdater,使其更具体,如

 public abstract void processRow (Cluster cluster, IUserData row);
Run Code Online (Sandbox Code Playgroud)

IUserData扩展IAppendOnlyData,因为我希望类扩展UserdataUpdater到只有IUserData

java generics abstract-class abstract class-hierarchy

1
推荐指数
1
解决办法
396
查看次数

非常简单的随机数生成器编译问题

嗨,我真的很喜欢Java,我只是想知道为什么我的程序没有编译.每当我编译程序时,我都会收到以下错误消息:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method nextInt(int) is undefined for the type Random

    at Random.main(Random.java:11)   
Run Code Online (Sandbox Code Playgroud)

对我的问题的任何意见将不胜感激.

import java.util.Random;

class Random {
    public static void main(String[] args)
    {
        Random dice = new Random();
        int number=0;

        for(int counter=1; counter<=10; counter++)
        {
            number = dice.nextInt(6);
            System.out.println(number);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

java random overriding class-hierarchy

1
推荐指数
3
解决办法
2826
查看次数

C#中的复杂类层次结构

我必须创建包含4个类的类模型 - 数据库,模式,表和列,类似于:

public class Database
{
    public string Name { get; set; }

    public List<Schema> Schemas { get; set; };
    public List<Table> Tables { get; set; };
    public List<Column> Columns { get; set; };
}

public class Schema
{
    public string Name { get; set; }

    public Database Database { get; set; }
    public List<Table> Tables { get; set; };
}

public class Table
{
    public string Name { get; set; }

    public Schema Schema { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# class hierarchy class-hierarchy

1
推荐指数
1
解决办法
216
查看次数

为什么当我在监视视图中观察基类对象时,VS2017为什么向我显示派生类的成员值?

我有3个类别的类别层次结构:KlasseA,KlasseB和KlasseC。KlasseC继承自KlasseB。KlasseB继承自KlasseA。

这些类中的每一个都有各自的int类型的属性A,B和C以及字段a,b和c:

public class KlasseA
{
    private int a;

    public int A { get => a; set => a = value; }
}
public class KlasseB: KlasseA
{
    private int b;

    public int B { get => b; set => b = value; }
}
public class KlasseC: KlasseB
{
    private int c;

    public int C { get => c; set => c = value; }
}
Run Code Online (Sandbox Code Playgroud)

(我省略了不必要的构造函数和检查逻辑)

现在,我可以编写以下代码:

class Program
{
    static void Main(string[] args)
    {
        KlasseA aKlasse;
        KlasseB …
Run Code Online (Sandbox Code Playgroud)

c# watch class-hierarchy

1
推荐指数
1
解决办法
111
查看次数

C#事件和类层次结构

我有以下课程

儿童班:

public class ChildClass
{
   ...
   private void EventHandler(...);
   ...
}
Run Code Online (Sandbox Code Playgroud)

家长班:

public class ParentClass
{
   ...
   ChildClass child;
   ...
   private void EventHandler(...);
   ...
}
Run Code Online (Sandbox Code Playgroud)

他们都在同一事件上有一个事件处理程序.

问题是这些处理程序将被调用的顺序是什么?

c# events class-hierarchy

0
推荐指数
1
解决办法
182
查看次数

包括时的命名空间,程序集和继承层次结构

通常,当在我的代码中包含名称空间或程序集时,我经常会遇到奇怪的情况,即名称空间是从另一个名称空间继承而来的,而父名称空间的类却不可用。例如,当使用List<>或时Dictionary<>,我使用System.Collections.Generic名称空间。但是,如果我也想使用IEnumerator,则还必须包括System.Collections名称空间。不应该System.Collections已经被任何成员引用System.Collections.Generic,因为它是一个孩子?两个名称空间还共享同一程序集mscorlib.dll。

为什么当子级不包含父级名称空间?

c# inheritance assemblies namespaces class-hierarchy

0
推荐指数
1
解决办法
249
查看次数