Django, зарегистрировать пользователя с именем и фамилией?

Хотя это экземпляр того же класса, в котором написана testPrivate, но не следует ли ему с ошибкой компилятора в System.out.println (o.count);

Нет. Это никогда не вызовет ошибку компиляции.

Это очень похоже на то, что делает простой getter и setter или конструктор копирования. Помните, что мы можем получить доступ к private членам, используя this.

public MyClass {
  private String propertyOne;
  private String propertyTwo;

  // cannot access otherObject private members directly
  // so we use getters
  // But MyClass private members are accessible using this.
  public MyClass(OtherClass otherObject) {
      this.propertyOne = otherObject.getPropertyOne();
      this.propertyTwo = otherObject.calculatePropertyTwo();
  }

  public void setPropertyOne(String propertyOne) {
      this.propertyOne = propertyOne;
  }

  public String getPropertyOne() {
      return this.propertyOne;
  }
}

. Ваш метод testPrivate принимает экземпляр MyClass. Поскольку testPrivate является методом внутри MyClass, он будет иметь доступ к свойствам private.

  public void testPrivate(MyClass o) {
      this.propertyOne = o.propertOne;
  }

Методы, определенные внутри класса, всегда будут иметь доступ к его членам private, через this. и переменной экземпляра.

Но если вы определите testPrivate вне MyClass, то у вас не будет доступа к членам private. Там вам придется использовать метод или сеттер или геттер.

13
задан Jonathan Leffler 5 September 2009 в 13:07
поделиться

1 ответ

I did it :

new_user = User.objects.create_user(username, email, password)
new_user.is_active = False
new_user.first_name = first_name
new_user.last_name = last_name
new_user.save()
27
ответ дан 1 December 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: