CoffeeScript 类
CoffeeScript 是一种面向对象的编程语言。类使大型代码可读,并且易于维护。对象是类的实例,是一个真实世界的实体,可以是人、地点、字符串、列表等。数据成员是在类中声明的变量。在本文中,我们将了解 CoffeeScript 中的类是如何工作的。
先决条件:您可以在在线 CoffeeScript 编译器上运行代码示例,或者您必须在系统上安装 CoffeeScript。参考这个,https://www.geeksforgeeks.org/coffeescript-introduction/
要在您的系统上运行 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() 并打印“我是类方法”。我们将在本文后面了解有关对象和方法的更多信息。上述示例的输出如下所示:
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
Javascript
class Person
constructor: (@name) ->
console.log "Hello, " + @name
p = new Person "Sam"
Javascript
class MyClass
constructor: (@name,@age) ->
console.log @name + " is #{@age} years old"
p1 = new MyClass "Sam", "12"
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()
输出:
I am the Class
I am the Class Method
构造函数:构造函数被定义为实例化对象的类。构造函数就像包含要执行的语句的方法。实例化类时将执行构造函数。如果构造函数需要任何参数,我们需要在创建对象时给它赋值。在下面的示例中,Person 类包含一个将名称作为参数的构造函数。我们将值传递给类的名称参数。创建对象时将调用此构造函数。
示例:在此示例中,我们定义了一个将名称作为参数的构造函数。因此,在创建对象 p1 时,我们传递了唯一的单个参数——名称。我们不需要括号来写参数,这就是 CoffeeScript 的简单性。当 Person 类被实例化时,将调用构造函数,并执行其中的 print 语句并在控制台中打印“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 的公共变量。我们将姓名和年龄的值存储在变量中——姓名和年龄。让我们看看我们是否可以修改类之外的任何值。
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 将 age 的值修改为 3,然后再次调用了函数。看下面的输出,age 的值改变了。这是您可以更改类外部的类公共数据成员值的方法。
输出:
Sam is 10 years old.
Sam is 3 years old.