我想知道“分享”或访问两个类之间属性的最佳方式,如下所示:
class A {
public A() {
B myClassB = new B();
}
int attributeA;
}
Class B {
int foo() {
// I want to have something like : return attributeA;
}
}
我希望它很清楚。如果有人有更好的方式提出问题让我知道'因为我真的不知道如何。
感谢。
答案 0 :(得分:0)
我想通过封装你可以分享类之间的字段(属性)。它是一个基本的OOP概念,它可以帮助程序员修改已经实现的代码,而不会破坏使用这些字段的其他人的代码。
考虑以下示例(Java)
public class Person{
public String name = "John";
public int age = 25;
}
将Person类的属性与另一个类
共享public class EncapTest {
public static void main(String[] args) {
Person p = new Person();
p.name = "Tom";
p.age = 20;
System.out.println(p.name);
System.out.println(p.age);
}
}
上述方法是在类之间共享(访问)属性的不好方法,因为任何人都可以更改字段,因为它们是公共的。因此,当您更改它们时,它们会为每个人(即使是那些不想要的人)进行更改。就像你打破别人的代码一样。
请参阅以下使用封装的示例
public class Person{
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getName() {
return age;
}
}
将Person类的属性与另一个类
共享public class EncapTest {
public static void main(String[] args) {
Person p = new Person();
p.setName("Tom");
p.setAge(20)
System.out.println(p.getName());
System.out.println(p.getAge());
}
}
通过将属性设为私有并使用getter和setters方法访问它们,您将隐藏属性。因此,无论何时在另一个类中设置属性,都不会破坏其他程序员的代码。