相关疑难解决方法(0)

接口与抽象类(通用OO)

我最近接受过两次电话采访,其中我被问及接口和抽象类之间的区别.我已经解释了他能想到的每一个方面,但似乎他们在等我提一些具体的东西,我不知道它是什么.

根据我的经验,我认为以下是正确的.如果我错过了重点,请告诉我.

接口:

在接口中声明的每个单独的方法都必须在子类中实现.接口中只能存在事件,代理,属性(C#)和方法.一个类可以实现多个接口.

抽象类:

只有抽象方法必须由子类实现.Abstract类可以有实现的常规方法.Abstract类还可以在Events,Delegates,Properties和Methods旁边有类变量.由于C#中不存在多重继承,因此类只能实现一个抽象类.

  1. 毕竟,面试官想出了一个问题"如果你有一个只有抽象方法的抽象类怎么办?那么它与界面会有什么不同?" 我不知道答案,但我认为这是上面提到的继承权吗?

  2. 另一位采访者问我,如果你在界面中有一个Public变量,那么它与Abstract Class有什么不同?我坚持认为你不能在界面中有一个公共变量.我不知道他想听到什么,但他也不满意.

另见:

oop abstract-class interface

1372
推荐指数
30
解决办法
69万
查看次数

RPG(角色扮演游戏)的类图示例

有谁知道我在哪里可以找到RP游戏开发的类图示例?类似于这里的东西会非常有用.我不是在寻找我可以盲目复制的东西,而是仅仅针对不同的例子,这些例子描绘了我在尝试和自己的课程时所发现的问题的各种解决方案.

project-planning class-diagram class

28
推荐指数
3
解决办法
4万
查看次数

为什么使用方法本地抽象内部类

可以与方法本地内部类一起使用的合法修饰符之一是abstract.

例如:

public class Outer {
    public void method(){
        abstract class Inner{
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

你有实际使用它的情况吗?

你必须知道SCJP考试.

java abstract-class inner-classes

23
推荐指数
4
解决办法
3787
查看次数

使用继承和多态来解决常见的游戏问题

我有两节课; 让我们称他们为食人魔和巫师.(所有字段都是公开的,以便更容易输入示例.)

public class Ogre
{
  int weight;
  int height;
  int axeLength;
}

public class Wizard
{
  int age;
  int IQ;
  int height;
}
Run Code Online (Sandbox Code Playgroud)

在每个课程中,我都可以创建一个名为battle()的方法,该方法将确定如果Ogre遇到Ogre或者向导遇到向导,谁将获胜.这是一个例子.如果食人魔遇到食人魔,那么较重的食人魔会获胜.但是如果重量是相同的,那么具有更长轴的那个获胜.

public Ogre battle(Ogre o)
{
  if (this.height > o.height) return this;
  else if (this.height < o.height) return o;
  else if (this.axeLength > o.axeLength) return this;
  else if (this.axeLength < o.axeLength) return o;
  else return this;    // default case
}
Run Code Online (Sandbox Code Playgroud)

我们可以为奇才制作类似的方法.

但是如果巫师遇到食人魔怎么办?当然,我们可以为此制定一种方法,比较高度.

public Wizard battle(Ogre o)
{
  if (this.height > o.height) return this;
  else if (this.height …
Run Code Online (Sandbox Code Playgroud)

java oop inheritance design-patterns

22
推荐指数
4
解决办法
2314
查看次数

选择界面或抽象类

在一次采访中,有人要求我证明何时选择界面以及何时选择抽象类以及在哪种情况下你将从两个中选择一个..我已经提出了我的界面分析,那就是......

接口是类型声明或定义多方之间合同的最佳选择.如果多个程序员在项目的不同模块中工作,他们仍然通过定义接口而不是等待实际实现准备就绪来使用彼此的API.

这为我们在编码和开发方面带来了很多灵活性和速度.使用Interface还可以确保最佳实践,例如"为接口编程而不是实现",从而产生更灵活和可维护的代码.

但是我没有充分的理由来证明抽象类的合理性,请指教..!

java abstract-class interface

4
推荐指数
2
解决办法
4691
查看次数

设计角色扮演游戏中典型角色的类层次结构

我正在尝试设计一个简单的角色扮演游戏,它具有典型的角色类型,如战斗机,巫师,牧师,小偷等.我需要建议一个好的方法来设置类层次结构.

我最初的尝试是创建一个类型为"Character"的类,并使"Character"中的战士,向导,牧师,派生类型.

但后来我认为创建一个"Character"类然后使用装饰模式会更好.所以说战斗机装饰,精灵装饰等.

或者有更好的方式吗?

c#

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

接口及其用途

可能重复:
使用Java [接口/抽象类]

与普通Java类相比,接口有什么好处.有人向我解释说,界面就像合同,但我只是不明白.为什么不坚持上课?

java interface

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