Проект банковский счет уже открыт в среде IntelliJ IDEA.
Сгенерируем Javadoc из класса BankAccount.
Это Javadoc-документ, который генерируется из комментариев, которые мы включили в программу.
И там есть резюме конструктора и методов.
Подробные описания конструкторов и методов также предоставляются в Javadoc.
И я хочу еще раз подчеркнуть, что важно обеспечить хорошую документацию для ваших программ.
Давайте вернемся к исходному коду и скомпилируем его. Хорошо, что нет никаких ошибок.
Давайте запустим программу, нажав кнопку Run.
Результаты выводятся в консоль.
Обратите внимание, что два счета для NoName и ТС имеют разный итоговый баланс, один с 50 долларами, а другой со 150 долларами, хотя один и тот же депозит и сделка снятия были произведены для обоих счетов, как вы можете видеть здесь из программы.
Это потому, что различные копии переменной экземпляра, balance, были созданы для каждого из экземпляров банковского счета.
Баланс ТС равен 150 долларам вместо 50, как в счете NoName, потому что он был создан с начальным балансом 100.
Теперь вы должны иметь общее представление о структуре объявления класса.
Это важно, поскольку все программы – это Java классы. И класс является шаблоном для объектов.
Объекты становятся экземплярами класса с использованием конструкторов.
Переменные экземпляра или поля, а также методы определены в классе, чтобы описать свойства и поведение объектов.
Вы можете думать о рецепте в качестве аналогии для класса.
Когда вы готовите, скажем выпечку печенья, необходимы ингредиенты (как переменные экземпляра для объектов) и инструкции шаг за шагом, как указано в рецепте (как методы в классе).
Когда печенье пекут (или создается объект), оно будет выглядеть по-разному, и вкус немного отличается, как и различные экземпляры.
Конечно, одна большая разница в том, что вы не можете съесть объекты программного обеспечения, созданные в Java программе, но в один прекрасный день вы можете быть в состоянии написать Java программу, которая поручит компьютеру испечь вкусное печенье для вас.
Давайте теперь посмотрим на другие примеры классов и объектов.
И это будет класс ColorImage.
ColorImage используется для создания объектов изображения, которые могут отображаться на холсте.
Холст представляет собой графическое окно, которое может использоваться для отображения графических объектов, в том числе изображений, в то время как окно консоли можно использовать только для ввода и вывода текста.
Объекты ColorImage это объекты холста.
Здесь вы можете увидеть документацию для ColorImage.
Тут есть несколько конструкторов для ColorImage.
Один конструктор без параметров, и он будет создавать объект цветного изображения при загрузке существующего изображения из папки на вашем компьютере.
И другой конструктор принимает имя файла в виде строки в качестве параметра.
Он будет строить объект цветного изображения для изображения, которое хранится в файле, как указано в параметре.
Здесь показаны некоторые из методов, которые могут быть применены к объектам в ColorImage.
Холст имеет целочисленные координаты х и у.
Это скриншот холста с координатами (0,0) в верхнем левом углу. Размер по умолчанию 800x600.
В следующих примерах мы будем использовать методы getRotation, getX и getY, которые позволяют получить позицию и ориентацию объекта изображения на холсте, и методы setRotation, setScale, setX и setY, которые изменяют положение, размер и ориентацию объекта изображения.
Давайте рассмотрим простую демо-программу ColorImageDemo, чтобы посмотреть на некоторое поведение ColorImage.
Здесь есть объявление переменных экземпляра – создается холст для отображения объекта ColorImage и создается новый объект ColorImage с именем переменной image1, который создается с использованием по умолчанию изображения с именем Сar1.png в формате под названием PNG или Portable Network Graphics.
Другие популярные графические форматы, такие как JPG и GIF также могут быть использованы.
Дальше идет объявление конструкторов.
Здесь определяются два конструктора.
Один без параметров, который просто отображает по умолчанию ColorImage в позиции (0,0).
Второй конструктор с двумя параметрами, оба целого типа.
Этот конструктор заменяет image1 новым изображением ColorImage, которое может быть выбрано из существующих файлов изображений пользователем.
В результате изображение будет отображаться в позиции xPos, yPos на холсте.
И здесь определены четыре метода.
Первый вращает по часовой стрелке изображение на угол, указанный в качестве параметра.
Второй метод возвращает целое число, указывающее текущую ориентацию изображения при вращении по часовой стрелке.
Обратите внимание, что возвращаемый тип указывается как int, который отличается от возвращаемого типа void в предыдущем методе.
Третий метод масштабирует изображение на коэффициент масштабирования, указанный в качестве параметра типа double.
Этот метод уменьшает или увеличивает изображение объекта.
И последний метод перемещает изображение в положение (X, Y) на холсте.
Обратите внимание, что движение начинается из начального положения, а не из текущего местоположения.
Я хочу, чтобы вы подумали о том, что должно быть сделано для движения из текущей позиции вместо начала координат.