令人振奋的Class(上)

本文详细介绍了ES2015中的类定义、属性使用、构造方法、静态方法及getter和setter的使用方法。通过实例展示了如何创建类、定义类的方法以及如何通过实例调用这些方法。

可以在这里测试http://babeljs.io/repl/ 
es2015中定义类:

    clss me
    {
        showName()
        {
            return "张三";
        }
    }

    // 实例化类
    let m = new me();
    console.log(m.showName());
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

类中属性的使用:

class me{
  showName(){
    this.age = 18;
    alert("zhangsan")
  }
}
// 实例化类
let m = new me();
m.showName(); //这里就定义了age
alert(m.age); //18
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

构造方法:

class me
{
  // 构造方法
  constructor(_age)
  {
    this.age = _age;
  }

  showName()
  {
    console.log(this.age);
  }
}
// 实例化类
let m = new me(25);
m.showName(); //打印:25
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

类似于静态方法:

class me
{
  static showme()
  {
    console.log("zhangsan");
  }
}

//调用静态方法
me.showme(); //打印:zhangsan
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

getter和setter:

class me
{
  get myname()
  {
    return "我的名字:"+this._abc;
  }
  set myname(v)
  {
    this._abc = v;
  }
}

//实例化
let m = new me();
m.myname = "jack";
console.log(m.myname); //打印:我的名字:jack
### Transformer在图像处理和生成中的应用 #### 使用Transformer进行图像描述生成 在图像描述生成任务中,Transformer模型的编码器部分通常与卷积神经网络(CNN)结合使用,以提取图像的视觉特征[^1]。这种组合能够有效地捕捉到图像的空间结构信息并将其转换成适合自然语言处理的形式。 对于具体的实现方式,在此提供一段简化版的Python代码用于构建一个基础框架: ```python import torch.nn as nn from torchvision import models, transforms from transformers import BertModel class ImageCaptioning(nn.Module): def __init__(self, embed_size=256, hidden_size=512, vocab_size=9954): super(ImageCaptioning, self).__init__() resnet = models.resnet101(pretrained=True) modules = list(resnet.children())[:-1] self.cnn_encoder = nn.Sequential(*modules) self.transformer_decoder = BertModel.from_pretrained('bert-base-uncased') def forward(self, images, captions): features = self.cnn_encoder(images).squeeze() outputs = self.transformer_decoder(input_ids=captions)[0] return features, outputs ``` 这段代码展示了如何利用预训练好的ResNet作为CNN组件来获取图片特征向量,并采用BERT作为解码端的一部分来进行文本序列预测。 #### 变革传统图像分类方法 除了上述提到的应用外,还可以看到有研究者尝试直接用纯Transformer架构来做图像分类工作。这表明即使不依赖传统的CNN层,仅依靠自注意机制也能够在某些情况下达到不错的效果[^2]。 然而值得注意的是,尽管这些进展令人振奋,但在实际部署过程中仍面临诸多挑战,比如模型复杂度较高、计算资源消耗较大等问题[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值