Ruby中的封装

在本文中,我们将研究封装。我们知道Ruby是一种纯粹的面向对象的语言,在每种面向对象的语言中,封装都被视为重要的属性之一。因此,让我们借助程序代码和语法来了解封装。

将数据打包为一个单元称为封装。它也可以称为将代码和受代码影响的数据绑定在一起的过程。通过应用封装,可以保护您的数据免受其他来源的操纵。用简单的话来说,它可以被认为是一种机制,它仅允许数据由声明它们的类的成员函数操纵。

如何实现封装?

您可以通过将class的所有变量声明为private( they are by default private)和将所有成员函数声明为来实现封装public(they are by default public)。现在,这些变量只能由该类的这些公共方法访问。

封装的优势

  • 易于测试的代码:单元测试是每个程序员都知道的测试。完成封装后,单元测试变得容易完成。

  • 减少冗余:封装有助于使代码可重用。您可以根据时间要求更新代码。

  • 数据隐藏:封装有助于数据隐藏,这意味着用户将无法获得有关类的内部实现的想法。用户将不知道数据在类中的存储位置。

让我们借助示例来了解封装:

=begin

Ruby 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 : Cust101

Customer 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”类的实例是customer1customer2customer3

以上是 Ruby中的封装 的全部内容, 来源链接: utcz.com/z/326361.html

回到顶部