首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过对象组合水平扩展 PHP 类功能

1、基本实现 所谓对象组合,简而言之,就是在一个类中组合(或者说依赖)另一个类而不是继承另一个类来扩展它的功能,如果说类继承是垂直(纵向)扩展类功能,那么对象组合则是水平(横向)扩展类功能,从某种角度说...,这也是对单继承机制缺陷的一种补充,使得类具备水平扩展功能的能力。...如果是通过对象组合的方式则非常方便和灵活,以汽油作为动力源为例,我们在 CarContract 接口中新增一个动力来源方法声明 power,然后在实现类和子类中实现这个方法: <?...PHP_EOL; } } 我们通过对象组合的方式传入一个 Gas 类对象实例,就可以在目标类方法中调用该对象实例的方法组合出自己需要的功能,这里,我们只是简单打印对象实例,最后,还需要定义这个...以上,就是基于对象组合水平扩展 PHP 类功能的完整示例,你学会了吗?除此之外,PHP 还支持通过内置的 Trait 特性来水平扩展类功能,我们将在下篇教程中具体介绍。 (全文完)

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Python科学计算】使用NumPy水平组合数组和垂直组合数组

    1 水平数组组合 通过hstack函数可以将2个或多个数组水平组合起来形成一个数组,那么什么叫数组的水平组合呢?下面先看一个例子。 现在有两个3*2的数组A和B。...数组A 0 1 2 3 4 5 数组B 6 7 8 4 1 5 现在使用hstack函数将两个数组水平组合的代码如下。 hstack(A,B) hstack函数的返回值就是组合后的结果。...0 1 2 6 7 8 3 4 5 4 1 5 我们可以看到,数组A和数字B在水平方向首尾连接了起来,形成了一个新的数组。这就是数组的水平组合。多个数组进行水平组合的效果类似。...但数组水平组合必须要满足一个条件,就是所有参与水平组合的数组的行数必须相同,否则进行水平组合会抛出异常。...图1 水平组合数组 2 垂直数组组合 通过vstack函数可以将2个或多个数组垂直组合起来形成一个数组,那么什么叫数组的垂直组合呢?下面先看一个例子。 现在有两个3*2的数组A和B。

    1.4K30

    微软 & 清华 | 提出LoRAs专家混合方法:MOLE,可动态、高效地组合多个LoRA!

    引言 LoRA模块化架构让研究人员们开始探索组合多个LoRA方法,旨在实现学习特征的联合生成,增强各种任务的性能。...当前线性算术组合和参数调优组合都存在一定的缺陷,为了能够动态、高效地组合多个训练后的 LoRA,本文作者提出了LoRA专家混合方法:MOLE,不仅在LoRA组合中提升了性能,还节约了计算开销,保证了LoRA...如下图所示,通过线性算术直接组合训练好的LoRA,这种组合多个LoRA的方式可能会影响预训练模型的生成性能。...基于以上两种方法分析,我们应该如何动态、高效地组合多个训练后的 LoRA,同时保留其所有各自的特征呢?在 V&L 领域观察到 LoRA 的不同层编码了不同的特征,例如狗的毛色和面部特征。...如下图所示: 1、训练阶段 「预测权重 (Predicting Weights)」: 在训练阶段,MOLE 的目标是为多个训练好的 LoRAs 预测权重。

    96110
    领券