标签: extend

Ruby:扩展模块的类

我正在尝试定义一个名为"HTML"的类来扩展 Nokogiri - 它使用模块.

我尝试了以下方法:

require 'nokogiri'

class HTML
    include Nokogiri
end
Run Code Online (Sandbox Code Playgroud)

require 'nokogiri'

class HTML
    extend Nokogiri
end
Run Code Online (Sandbox Code Playgroud)

但到目前为止,类HTML仍然无法继承nokogiri中的所有函数.所以像这样的东西不起作用:

doc = HTML.new
doc.HTML(open('http://www.google.com/search?q=tenderlove'))
Run Code Online (Sandbox Code Playgroud)

用于#的未定义方法`HTML'(NoMethodError)

有谁知道如何设法继承模块的所有方法的类?

ruby module class include extend

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

在Android中扩展位图类?

有没有办法在Android中扩展Bitmap类?我有一种感觉,你不能,但我想创建一个代表一个下降对象的位图类(这些对象从屏幕顶部落下的数量不确定,每个都必须执行一些一种碰撞检测).我可以扩展/实现位图类来创建我想要的自定义类吗?

android bitmap extend

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

重新实现javascript删除关键字

很多人都知道,javascript delete关键字使用起来有点棘手(见这里).是否可以重新实施或修改它?我有一个多次引用的对象,我想删除首先删除所有引用.像这样:

var oj = new OrangeJuice();
var juice = oj;
var beverage = oj;
var allRightSunnyD = oj;
delete oj; //I want this to delete the actual object
Run Code Online (Sandbox Code Playgroud)

我不希望垃圾收集器找到所有的引用,让我说我知道引用的位置,我只想重新实现删除也去掉果汁,饮料和allRightSunnyD.我意识到我可以实现一个OrangeJuice.delete()功能,但我想知道是否有办法正确实现.就像javascript onDelete()在删除对象之前调用回调函数一样.

javascript extend

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

扩展PHP类

真是一个简单的问题.

我正在重新编写一个网站,我将它全部转换为OOP并将其全部放入模板中.

我有多个类,但我想从一个单独的文件/类中扩展其中一个.

我是否需要require_once()父类来扩展它?

我猜你这么做但我只是想确定一下.

提前致谢!

php oop class abstract extend

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

使用John Resig的"简单JavaScript继承"如何在方法中调用超级方法PLUS额外代码?

我决定尝试JavaScript天才John Resig的"简单JavaScript继承",详见本博客页面:

http://ejohn.org/blog/simple-javascript-inheritance/

我很好奇如何使用调用super方法的代码覆盖方法.换句话说,假设我从Person类开始:

var Person = Class.extend({
    init: function ( name, age ) {
        this.name = name;
        this.age = age;
    }
});
Run Code Online (Sandbox Code Playgroud)

我扩展了Person类来创建一个新的类Worker:

var Worker = Person.extend({
    init: function ( name, age, occupation ) {
        this.name = name;
        this.age = age;
        this.occupation = occupation;
    }
});
Run Code Online (Sandbox Code Playgroud)

在两个版本的init方法中重复了代码.无论我使用哪个类,都会执行以下两行:

this.name = name;
this.age = age;
Run Code Online (Sandbox Code Playgroud)

好像我应该能够调用人员类的初始化从内法英雄类的初始化方法,然后在代码与额外的行抛出的职业属性.

但是,我不能用Resig先生的代码那样做.以下不起作用:

var Worker = Person.extend({
    init: function …
Run Code Online (Sandbox Code Playgroud)

javascript inheritance resig class extend

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

扩展bootstrap jQuery模式

我想$.fn.modal在Bootstrap/jQuery中进行扩展,这样我的扩展版本可以在通过传递额外选项初始化模态之前"做事".我试过这个,就像我做一些时间来扩展jQuery原型:

var modal = $.fn.modal;

$.fn.modal = function() {
    this.each(function() {
        // do stuff
    });
    modal.apply(this, arguments);
}

$('#modal').modal(); // fails
Run Code Online (Sandbox Code Playgroud)

上面的例子不起作用,虽然相同的模式适用于许多其他非bootstrap jQuery原型.

这是一个演示它的小提琴:http://jsfiddle.net/eTWSb/(只是评论覆盖的东西,看它工作).

当你想要添加自定义功能时,我的印象是克隆一个函数然后将其称为"超级"是一个可行的选择.

有什么建议?

javascript jquery modal-dialog extend twitter-bootstrap

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

如何扩展MarionetteJS模块以减少代码重复

我有一个通知工具栏,它是一个模块.非常类似于facebook本机应用程序中的通知工具栏.在此工具栏中有3个区域:

  • InvitesRegion
  • RequestsRegion
  • NotificationsRegion

每个区域都包含自己的模块(InvitesModule,RequestsModule,NotificationsModule).但是,每个都具有完全相同的功能:

  • 检查服务器是否有新的(邀请|请求|通知)
  • 如果找到,请更新关联的区域
  • 然后是一大堆其他函数(点击弹出collectionView等..)

我可以编写一个模块,比如InvitesModule并让我的另外两个模块扩展该模块,这样我就可以覆盖我需要的变量吗?

谢谢,如果我能更清楚,请告诉我

javascript module extend backbone.js marionette

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

Python - =和.extend for循环中的差异

参见示例,为什么=和.extend之间存在这种差异:

d1=[1,2,3]
d2=[7,8,9]
d={1:d1,2:d2}

for key,value in d.items():
    value=['a','b','c']
Run Code Online (Sandbox Code Playgroud)

输出:{1: [1, 2, 3], 2: [7, 8, 9]}

for key,value in d.items():
    value.extend(['a','b','c'])
Run Code Online (Sandbox Code Playgroud)

输出:{1: [1, 2, 3, 'a', 'b', 'c'], 2: [7, 8, 9, 'a', 'b', 'c']}

.extend似乎具有写入功能=不.我想深入研究为什么这是令人高兴的.

python for-loop extend python-3.x

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

在Android中扩展LinearLayout时如何将其他参数传递给构造函数?

我有以下问题,如果我有一个扩展LinearLayout的类,如:

public class ExtendedSeekbarLayout extends LinearLayout { ..}
Run Code Online (Sandbox Code Playgroud)

我想将其他参数传递给我的版面,我该怎么做?我知道我可以拥有以下构造函数:

 public ExtendedSeekbarLayout (Context context) {
    super(context);

}

public ExtendedSeekbarLayout (Context context, AttributeSet attributeSet) {
    super(context, attributeSet);

}

public ExtendedSeekbarLayout (Context context, AttributeSet attributeSet, int defStyle) {
    super(context, attributeSet, defStyle);

}
Run Code Online (Sandbox Code Playgroud)

但我希望有类似的东西:

 public ExtendedSeekbarLayout (Context context, AttributeSet attributeSet, int defStyle, int position) {
    super(context, attributeSet, defStyle);
    init(position);

}
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可能,如果没有,那将是什么方式呢?

非常感谢和欢呼,pingu

android constructor class extend android-linearlayout

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

一种在特定索引的空列表中插入值的方法

有没有一种方法可以将特定值插入到列表中的特定索引中。清单应完全为空

L = []
L.insert(2,177)
print(L)
Run Code Online (Sandbox Code Playgroud)

L应该给出L [,,2]的值

python list insert append extend

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