Поиск примера классов и объектов с использованием Processing - PullRequest
0 голосов
/ 07 февраля 2020

Я новичок, и у меня практически нет опыта программирования, я надеялся, что смогу чему-то научиться. Я думаю, что эллипс будет лучшим объектом.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2020

Давайте предположим, что я хочу строить автомобили в обработке. Я мог бы иметь несколько переменных для описания информации об автомобиле, скажем, bodyColor, yearMade или model. Однако наличие глобальных переменных для их определения является излишним. Мы используем Объекты в Java (именно в этом и заключается обработка) для определения набора переменных и методов.

A class - это проект для объекта. Вы не можете иметь объект без класса, чтобы определить его из. Например, если мы хотим создать объект Car, нам нужно определить тип Car. Это делается с использованием классов .

class Car //defines the class Car
{
  color bodyColor; //the body color of the car
  int yearMade; //the year the car was made
  String model; //the model of the car

  void drive() {
    //add code for making the car move here
  }

  void paint(color newColor) {
    bodyColor = newColor; //paints the car to a new color
  }
}

Каждый класс может иметь переменные, такие как model, и методы, такие как drive().

Теперь запомните, это это план, а не объект. Чтобы создать объект Car, классу необходимо нечто, называемое функцией конструктора . Функция конструктора - это то, что создает объект с использованием информации из класса.

Внутри Car :

public Car(color colorChosen, int thisYear, String modelName) {
  bodyColor = colorChosen;
  yearMade = thisYear;
  model = modelName;
}

Мы можем представить, что когда мы вызываем эту функцию в любом месте нашего кода, мы создаем новый объект car:

Car myFirstCar = new Car(color(0, 255, 0) /*green*/, 2020, "Toyota");

В этом примере myFirstCar является автомобиль зеленого цвета, изготовленный в 2020 году и являющийся Toyota.

Вы также можете получить и установить свойства объектов:

print(myFirstCar.yearMade); //2020
myFirstCar.model = "Honda";
print(myFirstCar.model); //Honda
myFirstCar.paint(color(255, 0, 0)); //paints the car red. Now myFirstCar.bodyColor = color(255, 0, 0).

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

Удачи.

1 голос
/ 09 февраля 2020

Ответ, который уже дал Бен Майерс , является отличным объяснением объектов и классов в целом.

Этот ответ дает небольшой пример в области обработки, который может быть полезен, чтобы показать, как вы можете использовать объекты и классы в эскизе обработки:

// Create two moving ellipse objects that follow the mouse pointer.
// The MovingEllipse class can be found below.
MovingEllipse movingEllipse1 = new MovingEllipse(20, 2.0);
MovingEllipse movingEllipse2 = new MovingEllipse(50, 3.2);

void setup() {
  size(600, 600);
  frameRate(60);
}

void draw() {
  // Clear the previous frame and set the background color to anthracite.
  background(56, 62, 66);

  movingEllipse1.move();
  movingEllipse1.draw();

  movingEllipse2.move();
  movingEllipse2.draw();
}


class MovingEllipse {
  float x;
  float y;
  float speed;
  float fillColor;
  float ellipseWidth;
  float ellipseHeight;

  MovingEllipse(float position, float speed) {
    this.x = position;
    this.y = position;
    this.speed = speed;
    this.fillColor = 7 * speed * speed * speed;
    this.ellipseWidth = 6.0 + speed * speed;
    this.ellipseHeight = 2.0 * speed;
  }

  void move() {
    PVector direction = new PVector(mouseX - x, mouseY - y).setMag(speed);
    x += direction.x;
    y += direction.y;
  }

  void draw() {
    fill(fillColor);
    ellipse(x, y, ellipseWidth, ellipseHeight);
  }
}
...