CoffeeScript 类
CoffeeScript是一种面向对象的编程语言。类使得大型代码易读且易于维护。对象是类的实例,可以是现实世界中的实体,如人、地点、字符串、列表等。数据成员是在类内部声明的变量。在本文中,我们将了解CoffeeScript中类的工作原理。
要在您的系统上运行CoffeeScript,请使用以下命令,
coffee fileName.coffee
类: 类是创建对象的原型。类将数据和功能绑定在一起。实例化类会每次都创建一种新类型的对象。每个类实例都有其属性和方法。类是用户定义的数据结构,以提高代码可读性和易于维护性。
关于CoffeeScript类的一些要点
- “class”关键字用于定义一个类。
- 属性是属于类的变量或数据成员。
- 方法是属于类的可变函数。
- 属性和方法默认为公有。
- 可以使用(.)运算符在对象上访问属性和方法。
类定义语法:
class Name_Of_Class
statement-1
statement-2
.
.
.
statement-N
示例: 在这个示例中,创建了一个p1对象,该对象实例化了类MyClass并打印“I am the class”。然后,我们调用了p1对象上的方法fun,该方法执行fun()并打印“I am the class method”。在本文后面部分,我们将更详细地学习对象和方法。上述示例的输出如下所示:
Javascript
class MyClass
console.log "I am the class"
fun: () ->
console.log "I am the class method"
p1 = new MyClass #Here, we are creating an object
p1.fun() #Here, we are calling method of class on an object
输出:
I am the Class
I am the Class Method
构造函数: 构造函数用于实例化对象的类。构造函数类似于包含要执行的语句的方法。在实例化类时,构造函数将被执行。如果构造函数需要任何参数,我们需要在对象创建时为其赋值。在下面的示例中,Person类包含一个以名称为参数的构造函数。我们使用类向名称参数传递值。当对象被创建时,该构造函数将被调用。
示例: 在这个示例中,我们定义了一个以名称为参数的构造函数。因此,在创建p1对象时,我们只传递一个参数 – 名称。我们不需要使用括号来写参数,这就是CoffeeScript的简洁之处。当实例化Person类时,构造函数将被调用,并且其中的打印语句将被执行并在控制台上打印“Hello, Sam”。
Javascript
class Person
constructor: (@name) ->
console.log "Hello, " + @name
p = new Person "Sam"
输出:
Hello, Sam
示例: 如果构造函数需要多个参数。在下面的示例中,我们在调用类-名称和年龄时,通过逗号分隔多个值作为参数传递。
Javascript
class MyClass
constructor: (@name,@age) ->
console.log @name + " is #{@age} years old"
p1 = new MyClass "Sam", "12"
输出:
Sam is 12 years old
修改类的变量: 我们只能修改类的公共可访问变量。如果数据成员是私有的,我们无法访问它,也无法修改它。在下面的代码中,我们只有公共变量 – name和age。我们将name和age的值存储在变量names和ages中。让我们看看是否可以修改类外的任何值。
JavaScript
class MyClass
constructor: (@name,@age) ->
names = @name
ages = @age
func: ->
console.log @name + " is #{@age} years old."
p1 = new MyClass "Sam","10"
p1.func()
p1.age = '3'
p1.func()
在这个示例中,首先我们通过对象p1调用了函数,然后通过访问对象p1的age属性将其值修改为3,并再次调用了该函数。请见下方的输出,age的值已经改变了。这是你可以在类外部改变类的公有数据成员值的方法。
输出:
Sam is 10 years old.
Sam is 3 years old.
极客教程