Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Примеры/Разные конструкторы

Материал из Онлайн справочника
Перейти к: навигация, поиск


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Описание[1]

У класса могут быть разные конструкторы, которые разными способами присваивают значения полям класса. Иногда лучше присвоить значения сразу всем полям объекта, но бывают случаи, когда лучше присвоить всего одно или несколько значений.

Пример

  1. Spot sp1, sp2;
  2.  
  3. void setup() {
  4.   size(640, 360);
  5.   background(204);
  6.   noLoop();
  7.   // используем конструктор без параметров:
  8.   sp1 = new Spot();
  9.   // используем конструктор с тремя параметрами:
  10.   sp2 = new Spot(width*0.5, height*0.5, 120);
  11. }
  12.  
  13. void draw() {
  14.   sp1.display();
  15.   sp2.display();
  16. }
  17.  
  18. class Spot {
  19.   float x, y, radius;
  20.  
  21.   // первая версия конструктора класса Spot;
  22.   // полям будут присвоены значения по умолчанию:
  23.   Spot() {
  24.     radius = 40;
  25.     x = width*0.25;
  26.     y = height*0.5;
  27.   }
  28.  
  29.   // вторая версия конструктора класса Spot;
  30.   // значения будут присвоены трем полям:
  31.   Spot(float xpos, float ypos, float r) {
  32.     x = xpos;
  33.     y = ypos;
  34.     radius = r;
  35.   }
  36.   void display() {
  37.     ellipse(x, y, radius*2, radius*2);
  38.   }
  39.  
  40. }

См.также

Внешние ссылки

  1. processing.org - Multiple constructors