初识javascript之对象继承

 
 
/**对象的继承*/
//允许多继承
//实现方式
//  1 对象冒充
//  2 call()方式
//  3 apply()方式
//  4 原型链
//  5 混合方式

/** 1、对象冒充*/

//新的类冒充旧的类,旧类必须采用构造函数方式,必须使用构造函数
//原理:A的构造函数成为B的方法并调用,B就会收到A的构造函数中定义的属性和方法
//A类
function People(name) {
    this.name=name;
    this.say=function () {
        alert("我们是:"+this.name);
    }
}

//B类
function Student(name) {
    this.inherit=People;//冒充
    this.inherit(name);//继承
    delete this.inherit;//删除继承
    this.score=function () {//然后再定义新方法以及新属性
        alert("90分");
    }
}
//使用
var tom=new Student("Tom");
tom.say();
tom.score();

//超类二
function middleStudent(age,sex) {
    this.age=age;
    this.sex=sex;
}

//子类继承多个超类
function middle(name,age,sex) {
    this.inherit = People;//冒充
    this.inherit(name);//继承
    delete this.inherit;//删除继承

    this.inherit=middleStudent;//冒充
    this.inherit(age,sex);//继承
    delete this.inherit;//删除继承
}

//测试
var jerry = new middle("Lily",20,"女");
jerry.say();
alert(jerry.sex);

/**=================================================================================*/

/** 2、call()方式*/
//用于继承属性
//call()函数是封装的对象冒充的一个函数

function WhitePeople(name) {
    // this.inherit=People;
    // this.inherit(name);
    // delete this.inherit;
    //上种方式等价于call()
    this.call(this,name);
    this.area=function () {
        alert("地区")
    }
}

var wp = new WhitePeople("aobam");
wp.area();
wp.say();

/**=======================================================================================*/

/** 3、apply()*/
//用于继承属性
//是对象冒充的一个封装函数
//格式:基类.apply(对象,参数数组)

function White_collar(name,age,sex) {
    People.apply(this,new Array(name));
    middle.apply(this,[age,sex]);
}

var collar = new White_collar("broa","22","女");
collar.say();
alert(collar.age);

/**========================================================================================*/

/** 4、原型链*/

// 不支持多重继承、无法用带参数构造函数

//定义基类--原型方式
function Blue_collar() {

}
Blue_collar.prototype.name="hehd";
Blue_collar.prototype.say=function () {
    alert("我是"+this.name);
}
//定义子类--原型方式
function City_blue_collar() {

}

City_blue_collar.prototype=new Blue_collar();//继承
//测试
var jj = new City_blue_collar();
jj.say();

/**========================================================================================*/

/** 5、混合方式*/

//使用构造函数定义类,没有使用原型
//用对象冒充继承构造函数的属性、用原型链继承prototype对象的方法

//基类
function Beauty(name) {
    this.name=name;
}

Beauty.prototype.say=function () {
    alert("我该休息了");
}

//子类
function China_beauty(name,area) {
    Beauty.call(this,name);
    this.area=area;
}

China_beauty.prototype=new Beauty();
China_beauty.prototype.from=function () {
    alert("我来自"+this.area);
}

var superstar = new China_beauty("陆毅","china");
superstar.say();
superstar.from();

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值