Язык и архитектура Java


Объектная модель Java


Классы

Класс есть языковая конструкция, определяющая поля данных объектов данного класса (instance variables) и их поведение (methods). Практически класс в Java сам по себе не является объектом. Это лишь шаблон, который определяет, из каких частей будет состоять объект, созданный с помощью этого класса, и как он будет себя вести.

Простейший пример описания класса

class Point extends Object {

public double x;

public double y;

}

Создание объекта определенного класса

Создать объект описанного выше класса можно декларацией

Point myPoint; // объявление переменной типа Point

myPoint = new Point(); // инициализация

а обратиться к полям данных следующим образом

myPoint.x = 10.0;

myPoint.y = 25.7;

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

При объявлении класса возможно указать методы специального вида, называемые конструкторами и предназначенные для инициализации созданного объекта. Имя этих методов должно совпадать с именем класса, они могут иметь какое-то количество аргументов, например

class Point extends Object {

Point() {

x = 0.0;

y = 0.0;

}

Point(double x, double y) {

this.x = x;

this.y = y;

}

public double x;

public double y;

}

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

Point a;

Point b;

a = new Point();

b = new Point(1.0, 2.0);

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

Методы и посылка сообщений

Если один объект в программе заставляет другой выполнить какую-то операцию, то принято говорить, что он посылает сообщение другому объекту. Например, мы можем переопределить наш класс следующим образом:

Pclass Point extends Object {

private double x;

private double y;

public void setX(double x) {

this.x = x;

}

public void setН(double y) {

this.y = y;

}

...

}

Мы теперь сделали поля x и y недоступными извне класса, но для изменения их состояния предусмотрели специальные методы setX и setY.




Начало  Назад  Вперед



Книжный магазин