Processing:Примеры/Наследственность
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Класс можно задать, в качестве основы используя другой класс. В объектно-ориентированном программировании один класс может наследовать поля и методы другого. Объект, который наследует у другого, называется «подклассом», а объект, наследником которого является подкласс – «суперклассом». То есть подкласс является расширенной версией суперкласса.
Пример
SpinSpots spots;
SpinArm arm;
void setup() {
size(640, 360);
arm = new SpinArm(width/2, height/2, 0.01);
spots = new SpinSpots(width/2, height/2, -0.02, 90.0);
}
void draw() {
background(204);
arm.update();
arm.display();
spots.update();
spots.display();
}
class Spin {
float x, y, speed;
float angle = 0.0;
Spin(float xpos, float ypos, float s) {
x = xpos;
y = ypos;
speed = s;
}
void update() {
angle += speed;
}
}
class SpinArm extends Spin {
SpinArm(float x, float y, float s) {
super(x, y, s);
}
void display() {
strokeWeight(1);
stroke(0);
pushMatrix();
translate(x, y);
angle += speed;
rotate(angle);
line(0, 0, 165, 0);
popMatrix();
}
}
class SpinSpots extends Spin {
float dim;
SpinSpots(float x, float y, float s, float d) {
super(x, y, s);
dim = d;
}
void display() {
noStroke();
pushMatrix();
translate(x, y);
angle += speed;
rotate(angle);
ellipse(-dim/2, 0, dim, dim);
ellipse(dim/2, 0, dim, dim);
popMatrix();
}
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |