斯卡拉 |统一访问原则
在 Scala 中,实现了一种称为统一访问原则的编程抽象,它指出用于检索类属性的注释对于方法和变量都是等效的。这一原则是由 Bertrand Meyer 提出的。该原则仅意味着用于访问类功能的符号不应根据它是方法还是属性而有所不同。
需要注意的几点:
- 使用此原理,不带参数的属性和函数可以通过相同的语法访问。
- 没有参数的函数的定义可以转换为“var”,反之亦然。
- 该原则更符合面向对象的编程。
例子 :
// Scala program for Uniform
// Access Principle
// Creating object
object Access
{
// Main method
def main(args: Array[String])
{
// Creating array
val x : Array[Int] = Array(7, 8, 9, 10, 45)
// Creating String
val y = "GeeksforGeeks"
// Accessing length of an
// array
println(x.length)
// Accessing length of a
// String
println(y.length)
}
}
输出:
5
13
现在,我们知道数组的长度是一个变量,字符串的长度是“String”类中的一个方法,但是我们以相同的方式访问它们。
例子 :
// Scala program for Uniform
// Access Principle
// Creating object
object Access
{
// Main method
def main(args: Array[String])
{
// Creating a list
val x = List(1, 3, 5, 7, 9, 10)
// Creating a method
def portal = {
"Geeks" +"for" + "Geeks"
}
// Accessing size of a
// method
println(portal.size)
// Accessing size of a
// variable
println(x.size)
}
}
输出:
13
6
在这里,变量和方法都以相同的方式访问。