- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Trong trò chơi dựa trên sprite mà tôi đang viết, mỗi trường trong lưới 2D chứa một loạt các sprite. Hầu hết thời gian, điều quan trọng nhất là quan trọng nhất.
Trong mô-đun quy tắc của trò chơi, tôi có rất nhiều mã như thế này:
boolean công khai isGameWon(Bảng bảng) {
cho (Điểm điểm : board.getTargetPoints())
if(!(board.getTopSpriteAt(point) instanceof Box))
trả về sai;
trả về đúng sự thật;
}
gia hạn: // Làm điều gì đó
nếu trong mọi Mục tiêu
có một Hộp
Nó có giá trị. Tôi không thấy cách thực hiện việc này bằng cách thêm doS Something()
Thêm vào Sprite để thực hiện việc này trừ khi doS Something()
Trả về 1 nếu sprite là một hộp, nếu không thì trả về 0. (Điều này giống như instanceof).
Tôi biết instanceof được coi là có hại vì nó giết chết ý tưởng lập trình hướng đối tượng.
Nhưng tôi không chắc chắn cách sửa mã của mình. Dưới đây là một số suy nghĩ của tôi:
làABox()
Phương pháp này chỉ đơn giản được thêm vào Ma
Một giao diện sẽ tốt hơn.Hộp
Đây có phải là một giao diện để các lớp khác có thể nhận được các đặc quyền tương tự, điều đó có giúp ích gì không?Tôi hy vọng bạn đã thử điều gì đó tương tự và có thể chỉ cho tôi đi đúng hướng.
câu trả lời hay nhất
sử dụngtính đa hình :
lớp Sprite {
..
một sốMethod(){
//làm ma
}
..
}
lớp Box mở rộng Sprite {
..
@Ghi đè
một sốMethod(){
//làm hộp
}
..
}
Vì vậy, bạn chỉ cần gọi sprite.someMethod() trong ví dụ của mình.
Về java - việc loại bỏ `instanceof`, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/8711636/
对于以下条件: if (a != null && a instanceof A) 或 if (a instanceof A) 首先检查 null 是否有任何优势(例如,性能方面)?两个条件的结果应该相
我正在编写一个方法,如果异常是 *someClass* 的实例,它将返回 true。但是我无法导入其中一个类,因为它在另一个模块中。我无法将该模块添加到项目中,所以我想,我不能使用 instanceo
这个问题在这里已经有了答案: The difference between "instanceof List" and 'o instanceof List" (2 个答案) 关闭 7 年前。 我知
多年来,我尽量避免使用 instanceof。在适用的情况下使用多态性或访问者模式。我想它只是在某些情况下简化了维护......还有其他需要注意的缺点吗? 但是我确实在 Java 库中到处看到它,所以
我没有看到以下任何区别: Object o = new LinkedList(); System.out.println(o instanceof List); System.
我正在像这样扩展对象: Object.prototype.is_a = function (x) { return this instanceof x; } 一切正常 "foo".is_a(Str
我在 NetBeans 中编码如下: public class Grafo { class Par { int a, b; Par(int a, int
我已经动态创建了布局。它有一些编辑文本、 TextView 、微调器等。 之后,我必须获取我介绍的关于这些 View 的信息。 所以我在做这样的事情 for(int i=0;i <= childs;i
等等!我知道还有其他非常相似的问题,但(也许是我)我需要回答其中的特定部分。 我知道可以说 Object.prototype 位于委托(delegate)链的最顶端。但是,在 Function 存在以
MooTools 有自己的instanceOf(instance, Type) 函数。 我只能假设它做了一些与 Javascript 的原生 instanceof 运算符不同的事情,但我似乎无法弄清楚
获取UTXO的方法 getUtoxs(address){ var options; if(Global.btc.network === "testnet"){ options = {
为什么在 JavaScript 中,Object instanceof Function 和 Function instanceof Object 都返回 true? 我在 Safari WebIns
为什么在 JavaScript 中 Object instanceof Function 和 Function instanceof Object 都返回 true? 我在 Safari WebIns
首先,我制作了一个“游戏渲染器”。 我的问题是,当我需要绘制当前元素时:我需要知道它是矩形、圆形还是图像等。 我的类(矩形、圆形...)是从图形扩展而来的。 public class Rectangl
想象一下,我想编写一个名为 isInstanceof 的无用方法,它返回一个 boolean。 我在想。但我不出去。 instanceof 必须像这样使用: [object] instanceof [
我有两个继承自 Player 的类:SimplePlayer 和 InterleavedPlayer。 B 类有这些方法:setPlayer(SimplePlayer player) 和 setPla
我在尝试使用以下内容时遇到了意外行为: $object instanceof $class 1/如 in the official doc. 所述,PHP 'instanceof' 关键字和命名空间可
可以在 angularjs 中使用 typeof 吗? 我有一个 ngrepeat 循环遍历我的数据,应该检查数据是字符串还是对象。 {{angular.isObject(text) &&
例如,我有 Currency 和处理 Currency 各种实现的 Exchange。我想对窗帘货币有额外的汇率,我这样做 interface Currency { double rate();} i
我有以下代码: abstract class BaseToken {} class OpenParen extends BaseToken { public static assert(t:
Tôi là một lập trình viên xuất sắc, rất giỏi!