我正在实现从Java到Python的移植。 现在,我想用另一个对象作为neested属性来定义一个对象。你知道吗
需要说明的是,考虑Java代码如下:
public class Foo {
private String fooName;
public Foo(String fooName) {
setFooName(fooName);
}
public void setFooName(String fooName) {
this.fooName = fooName;
}
public String getFooName() {
return this.fooName;
}
}
public class Bar {
private String barName;
private Foo foo;
public Bar(String barName, Foo foo) {
setBoName(fooName);
setFoo(foo);
}
public void setBarName(String barName) {
this.barName = barName;
}
public String getBarName() {
return this.barName;
}
public void setFoo(Foo foo) {
this.foo = foo;
}
public Foo getFoo() {
return this.foo;
}
}
我怎样才能在Python中做同样的事情呢?你知道吗
您的类如下所示,注意没有
public
和private
的概念,因此您不需要setter和getter举个例子
我想再次强调,一般使用setter和getter并不被认为是Pythonic。要么不要编写/使用它们,要么如果需要的话,use ^{} decorators instead
Python语法有点不同。如果你在深入研究之前先读一读,会有更大的帮助。 您必须考虑以下几点:
但这里有一个演示:
从Python文档中:
有关详细信息,请参见:https://docs.python.org/2/tutorial/classes.html#private-variables-and-class-local-references。你知道吗
由于基于Java的类通常“隐藏”它们的字段(通过使其私有化),并为这些字段提供公共getter/setter,因此可以使用该约定在Python中实现这一点:
相关问题 更多 >
编程相关推荐