Как обратиться к переменной из другого класса c
Перейти к содержимому

Как обратиться к переменной из другого класса c

  • автор:

Как использовать переменную из другого класса java

Если переменная объявлена public , то мы можем получить к ней доступ напрямую, указав имя через точку после имени объекта класса.

Если переменная объявлена private , то необходимо вызвать геттер этой переменной.

class Friend  public String name; private String mail; public Friend(String name, String mail)  this.name = name; this.mail = mail; > public String getMail()  return mail; > > public class App  public static void main(String[] args)  Friend friend = new Friend("Ivan", "Ivan@mail.ru"); System.out.println(friend.name); // => Ivan System.out.println(friend.getMail()); // => Ivan@mail.ru > > 

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

У меня есть множество классов (Страны) с одинаковыми названиями переменных. И есть другой класс который выводит информацию об этих классах. Сейчас пользуюсь таким методом: При вызове инфо класса страна передает ему свое имя через строку а в инфо классе уже делаю.

void Info(string Country) < if(Country == "Italy")< Text.text = Italy.NameOfVariable; >else if(Country == "Russia") < Text.text = Russia.NameOfVariable; >>

Но так как классов много будет очень много лишнего кода, скажите как можно использовать универсальный метод чтобы брать переменную, если это возможно, может быть и не через строку.

  • Вопрос задан более трёх лет назад
  • 2670 просмотров

Комментировать
Решения вопроса 1

MrMureno

Denis Gaydak @MrMureno Куратор тега Unity
VR for all

ответьте почему у вас множество классов, а не один класс Country, на основе которого сделали себе объект для России и Италии и так далее?
у них у всех будет одинаковые переменные..

public class Country < public string Name; //и другие нужные поля под страну >/////////// //создаем себе объект класса Country russia = new Country(); russia.Name = "Russia"; ////////// //и вот собственно во все инфо и подобное отдаете объект класса Country //в котором все содержиться void Info(Country currentCountry)

конечно еще есть struct вместо класса. и про наследование можно поговорить если будет что то уникальное для каких-то стран.
но вам еще видимо рано такое..

но в общем то, если сильно все упростить, вы просто не использовали ООП — создав на каждую страну свой собственный класс.

Почему функция не видит public переменную из другого класса?

Всем доброго дня! Скажите пожалуйста почему функция не видит public переменную из другого класса?

//все нужные include тут прописаны просто я их скрыл class Window < private: int windowWidth, windowHeight; float windowWidthPROJ, windowHeightPROJ; void setContextCurrent(); public: GLFWwindow* mWindow; Window(const std::string& title, int width, int height); glm::mat4 view; void loop(); ~Window(); >;
#include #include #include #include #include #include #include "Camera.h" #include "Window.h" void Camera::moveCamera() < if ( glfwGetKey(mWindow, GLFW_KEY_W)) < //тут выскаивает что идентификатор mWindow не определен position += cameraFront * 0.01f; >view = glm::lookAt(position, position + cameraFront, cameraUp); return glm::mat4(view); >
  • Вопрос задан более двух лет назад
  • 426 просмотров

Комментировать
Решения вопроса 1
Николай @romancelover
программист C++ под Linux

mWindow определён в классе Window, а обращаются к нему в другом классе Camera, в котором члена mWindow нет. Как компилятор узнает о связи между классами Camera и Window, чтобы один использовал члены другого?
Можно обратиться к нему в том случае, если Camera будет наследником Window (но в данной ситуации это скорее всего не нужно), или в Camera будет член типа Window или указатель на него (Window* _window) тогда _window->mWindow будет допустимо.

Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 3

Adamos

Философы древности собирали своих учеников и беседовали, позволяя им задавать вопросы и тем приобретать мудрость.
Но С++ учится не так.

Вызвать переменную из другого класса

Всем доброго. Пытаюсь программировать на С#, но уперся уже несколько дней — не могу вызвать переменную из другого («а») из другого класса («Class1′).

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 < class Program < static void Main(string[] args) < new Class1(); double b = Class1.a; Console.WriteLine("a = ", b); while (true) < try < string command = Console.ReadLine(); if (command == "stop") < break; >> catch (System.Runtime.InteropServices.COMException) < >> > > > 

Класс, от которого надо взять значение переменной «а» максимально упрощен

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 < public class Class1 < public double a = 179; >>

Пробовал гуглить, яндексить и т. д. — не помогло.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *