<MyRusakov.ru />

Программирование на JavaScript с Нуля до Гуру 2.0

Программирование на JavaScript с Нуля до Гуру 2.0

Данный курс научит Вас программировать на языке JavaScript, который крайне желательно знать любому уважающему себя программисту. Курс состоит из 8 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности. В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Дополнительно, почти к каждому уроку идут упражнения.

Помимо самого курса Вас ждёт ещё 5 бесплатных ценных Бонусов: «Библиотека jQuery», «Защита JavaScript-кода от копирования», «Решение упражнений из курса», «HTML для начинающих» и «CSS для начинающих».

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Конструкторы в Java

Конструкторы в Java

В Java есть специальный тип метода, который называется конструктором. Конструкторы в Java используются для инициализации объекта, поэтому они вызываются в момент создания объекта.

При инициализации в конструкторе задаются начальные значения для переменных.

Далее пример с комментариями:

// GameUnit.java

// класс, описывающий точку в двумерном пространстве
class Point2D
{
    int x; // аттрибуты класса
    int y;


    // конструктор по умолчанию
    Point2D()
    {
        this.x = 0;
        this.y = 0;
    }

    // конструктор с двумя параметрами
    // при вызове различие происходит по параметрам - это назывется перегрузка метода
    Point2D(int x, int y)
    {
        this.x = x; // устанавливаем значения для переменных
        this.y = y;
    }

    public String toString()
    {
        return String.format("[Object Point{ x = %d, y = %d }]", x, y);
    }
}

// класс, описывающий точку в трехмерном пространстве
class Point3D extends Point2D
{
    int z;

    // конструктор по умолчанию
    Point3D()
    {
        // инициализация родительского конструктора
        // super - ссылается на родительский конструктор
        super();
        this.z = 0;
    }

    Point3D(int x, int y, int z)
    {
        super(x,y); // вызов второго родительского конструктора
        this.z = z;
    }

    @Override
    public String toString()
    {
        return String.format("[Object Point{ x = %d, y = %d, z = %d }]", x, y, z);
    }

}


// класс игрового объекта
class GameUnit
{
    private Point2D position2d;  // аттрибутом класса может быть пользовательский класс
    private Point3D position3d;


    // конструктор по умолчанию
    GameUnit()
    {
        position2d = new Point2D();
        position3d = new Point3D();
    }

    // конструктор с 2d точкой
    GameUnit(Point2D position)
    {
        this.position2d = position; // инициализируем объект значениями
    }

    // конструктор с 3d точкой
    GameUnit(Point3D position)
    {
        this.position3d = position;
    }


    // возвращает текущую 2D позицию игрового объекта
    Point2D getPosition2D()
    {
        return position2d;
    }

    // возвращает текущую 3D позицию игрового объекта
    Point3D getPosition3D()
    {
        return position3d;
    }

}


// главный класс
public class Program
{
    public static void main(String[] args)
    {
        Point2D startPosition = new Point2D(10,10);
        GameUnit unit = new GameUnit(startPosition); // создаем объект, конструктор вызывается автоматически

        // возвращаем позицию объекта x
        System.out.println(unit.getPosition2D());


        Point3D  startPosition2 = new Point3D(10,10,20);
        GameUnit unit2 = new GameUnit(startPosition2); // создаем объект, конструктор вызывается автоматически

        // возвращаем позицию объекта x
        System.out.println(unit2.getPosition3D());
    }
}


//[Object Point{ x = 10, y = 10 }]
//[Object Point{ x = 10, y = 10, z = 20 }]

Таким образом, если Вы уже знаете какой либо объектно-ориентированный ЯП, то понимание конструкторов в Java для Вас не станет проблемой.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.