Python中的类和JavaScript中的类(ES6)

JavaScript的类

在ES6 以后的 类的关键字为 class 类里面包含 constructor 构造器 super() 函数用来继承其他类的并且指向为要继承的这个类 static 为定义静态方法,同时也有get 和set 来获取和修改 类里面的变量,里面也有this,可以指向当前类

class getName {
  constructor(name = '自夏', sex = '1', age = 18, meeting = ['JavaScript']) {
    this.sex = sex;
    this.age = age;
    this.meeting = meeting;
  }

  isTypeName (name) {
    console.log(`我是:${name}, is sex ${this.sex},今年多数岁${this.age}`);
  }
  skill (languageSkills) {
    languageSkills = languageSkills || this.meeting;

    console.log(`我会:${languageSkills.join()}`);

  }
  
    static job () {

  }

  get getUserName () {
    return this.name;
  }

  set setUserName (newName) {
    this.name = newName
  }
}

const newInfo = new getName('selfsummer', 2, 22, ['JavaScript', 'NodeJS', 'VUE'])

newInfo.isTypeName('自夏')

newInfo.skill(); //我会:JavaScript,NodeJS,VUE

// 修改name
newInfo.setUserName = '999'

// 获取修改的name
newInfo.getUserName; // 999

Python的类

py 中 class 也是类关键字 他的构造器为 def init 这里跟其他语言有点不一样 定义方法要 def 关键字, Py和JS 中都有静态( 装饰器@staticmethod) 方法,和实例方法(就是不需要装饰器的),但是Py的实例方法不需要实例化也称普通方法(使用时不需要new 关键字 ),但是Py 中还有类方法(修饰器@classmethod)

class Classname:
    @staticmethod
    def fun():
        print('静态方法')

    @classmethod
    def aa(cls):
        print('类方法')

    # 普通方法
    def bb(self):
        print('普通方法')


Classname.fun() # 静态方法和JS的静态方法一样
Classname.aa() # 类的方法,跟使用静态方法差不多
Classname().bb() # 普通方法的调用 跟JS的实例方法差不多,唯一区别这里是不需要实例化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值