private ×6
Создан 05.01.2025
0
голоса
5
ответов
0
просмотров
Есть ли способ получить доступ к приватным полям структуры из другого пакета?

У меня есть структура в одном пакете, которая имеет приватные поля:

package foo

type Foo struct {
    x int
    y *Foo
}

И в другом пакете (например, в пакете для белобокового тестирования) нужно получить к ним доступ:

package bar

import "../foo"

func change_foo(f *foo.Foo) {
...
5
голоса
5
ответов
13
просмотров
Изменение приватного статического финального поля с помощью рефлексии в Java

У меня есть класс с полем private static final, которое, к сожалению, мне нужно изменить во время выполнения программы.

При использовании рефлексии я получаю следующую ошибку: java.lang.IllegalAccessException: Can not set static final boolean field.

Существует ли способ изменить значение...

5
голоса
5
ответов
12
просмотров
Как получить значение закрытого поля из другого класса в Java?

У меня есть плохо спроектированный класс в стороннем JAR, и мне нужно получить доступ к одному из его приватных полей. Например, возникает вопрос, почему я должен выбирать приватное поле и нужно ли это делать?

class IWasDesignedPoorly { private Hashtable stuffIWant; }

IWasDesignedPoorly obj =...

7
голоса
5
ответов
31
просмотров
Имеет ли Python "приватные" переменные в классах?

Вопрос о доступности переменных экземпляра в Python

Я пришел из мира Java и читаю книгу Брюса Эккелла Python 3 Patterns, Recipes and Idioms.

Во время чтения о классах я узнал, что в Python не нужно объявлять переменные экземпляра. Вы просто используете их в конструкторе, и они...

11
голоса
5
ответов
31
просмотров
Разница между public, private и protected в ООП

Когда и почему следует использовать функции и переменные с модификаторами доступа public, private и protected внутри класса? В чем разница между ними?

Примеры:

// Public
public $variable;
public function doSomething() {
  // ...
}

// Private
private $variable;
private function...
37
голоса
0
ответов
67
просмотров
В чем разница между public, protected, package-private и private в Java?

В Java существуют ли четкие правила о том, когда следует использовать каждый из модификаторов доступа, а именно package-private (по умолчанию), public, protected и private, при создании class и interface и работе с наследованием?