Ruby中的封装
在本文中,我们将研究封装。我们知道Ruby是一种纯粹的面向对象的语言,在每种面向对象的语言中,封装都被视为重要的属性之一。因此,让我们借助程序代码和语法来了解封装。
将数据打包为一个单元称为封装。它也可以称为将代码和受代码影响的数据绑定在一起的过程。通过应用封装,可以保护您的数据免受其他来源的操纵。用简单的话来说,它可以被认为是一种机制,它仅允许数据由声明它们的类的成员函数操纵。
如何实现封装?
您可以通过将class的所有变量声明为private( they are by default private)和将所有成员函数声明为来实现封装public(they are by default public)。现在,这些变量只能由该类的这些公共方法访问。
封装的优势
易于测试的代码:单元测试是每个程序员都知道的测试。完成封装后,单元测试变得容易完成。
减少冗余:封装有助于使代码可重用。您可以根据时间要求更新代码。
数据隐藏:封装有助于数据隐藏,这意味着用户将无法获得有关类的内部实现的想法。用户将不知道数据在类中的存储位置。
让我们借助示例来了解封装:
=beginRuby program to demonstrate encapsulation
=end
class Bank
def initialize(id, nme, no, type)
@cust_id = id
@cust_name = nme
@ac_no = no
@cust_type = type
end
def display_details
puts "Customer id : #{@cust_id}"
puts "Customer name : #{@cust_name}"
puts "Customer no : #{@ac_no}"
puts "Customer type : #{@cust_type}"
end
end
customer1 = Bank.new("Cust101", "Rashmeet", "AC789", "Savings")
customer2 = Bank.new("Cust102", "Parmeet", "AC1789", "Savings")
customer3 = Bank.new("Cust103", "Jagmeet", "AC2789", "Savings")
customer1.display_details
customer2.display_details
customer3.display_details
输出结果
Customer id : Cust101Customer name : Rashmeet
Customer no : AC789
Customer type : Savings
Customer id : Cust102
Customer name : Parmeet
Customer no : AC1789
Customer type : Savings
Customer id : Cust103
Customer name : Jagmeet
Customer no : AC2789
Customer type : Savings
说明:
在上面的代码中,您可以观察到成员函数和数据只能通过类的对象或实例进行访问。在这里,“Bank”类的实例是customer1,customer2和customer3。
以上是 Ruby中的封装 的全部内容, 来源链接: utcz.com/z/326361.html