Processing:Примеры/Разные конструкторы: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


=Описание<ref>[https://processing.org/examples/multipleconstructors.html processing.org - Multiple constructors]</ref>=
=Описание<ref>[https://processing.org/examples/multipleconstructors.html processing.org - Multiple constructors]</ref>=
Строка 59: Строка 56:
}}
}}


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
Spot sp1, sp2;
Spot sp1, sp2;


Строка 108: Строка 105:
<references />
<references />


{{SEO
{{Навигационная таблица/Портал/Processing}}
|Заголовок статьи=Processing: Разные конструкторы / Онлайн справочник - wikihandbk.com
|Ключевые слова=processing,Разные конструкторы,Разные конструкторы в processing, пример Разные конструкторы, пример Разные конструкторы в processing
|Описание статьи=
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Примеры/Разные конструкторы</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-07-25
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Processing/Примеры}}

Текущая версия от 07:50, 27 августа 2023

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


Описание[1]

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

Пример

Spot sp1, sp2;

void setup() {
  size(640, 360);
  background(204);
  noLoop();
  // используем конструктор без параметров:
  sp1 = new Spot();
  // используем конструктор с тремя параметрами:
  sp2 = new Spot(width*0.5, height*0.5, 120);
}

void draw() {
  sp1.display();
  sp2.display();
}

class Spot {
  float x, y, radius;
  
  // первая версия конструктора класса Spot;
  // полям будут присвоены значения по умолчанию:
  Spot() {
    radius = 40;
    x = width*0.25;
    y = height*0.5;
  }
  
  // вторая версия конструктора класса Spot;
  // значения будут присвоены трем полям:
  Spot(float xpos, float ypos, float r) {
    x = xpos;
    y = ypos;
    radius = r;
  }
  void display() {
    ellipse(x, y, radius*2, radius*2);
  }
  
}

См.также

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