Tag: 封装

当我能够使用setter方法更改属性值时,封装的用途是什么?

我尝试了很多次,但我没理解这一点。 封装是一种将类中的字段设为私有并通过公共方法提供对字段的访问的技术。 如果某个字段被声明为私有,则该类之外的任何人都无法访问该字段,从而将该字段隐藏在该类中。 我们如何通过setter方法更改字段的值? 我们如何防止直接访问这些字段? 封装的真正用途是什么?

Java封装

我们总是说如果我们只是将变量private定义并定义getter setter来访问这些变量,那么数据将被封装。 我的问题是,如果我们可以通过getter和setter访问变量(数据),那么数据是如何隐藏或安全的? 我搜索了大量的解释但没有找到任何东西。 每个人都在他们的博客和post中说它是一种数据隐藏技术,但没有解释/阐述它。 期待在stackoverflow论坛上获得适当,满意的解释。

Getters和Setters是糟糕的OO设计?

Getters和Setters很糟糕 简单地阅读上面的文章,我发现getter和setter是糟糕的OO设计,应该避免它们反对Encapsulation和Data Hiding。 在这种情况下,如何在创建对象时避免它,以及如何将对象模型对象考虑在内。 如果需要吸气剂或固定剂,可以使用其他替代品吗? 谢谢。

Java Encapsulation Concept不清楚

这是基本问题,但我仍然不理解封装概念。 我不明白如何从其他类更改类的属性。因为每当我们尝试设置类的公共实例值时,我们必须创建该类的对象然后设置值。每个对象引用不同的内存即使我们更改实例值,这也不会影响任何其他对象。 即使我尝试更改使用静态公共实例值,我也无法更改类属性值。 实例如下 // Employee class public class Employee { public static int empid; public static String empname; public static void main(String[] args) { System.out.println(“print employe details:”+empid+” “+empname); } // EmployeeTest class public class EmployeeTest { public static void main(String[] args) { Employee e = new Employee(); e.empid=20; e.empname=”jerry”; Employee.empid=10; Employee.empname=”tom”; } } } […]