Серия Ruby для начинающих (6 из 11)

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

Объект, Экземпляр, Переменная, Класс

  • Объект можно представить как что-то, что имеет характеристики (свойства) и способность что-то делать (поведение).
  • Примеры таких объектов, как люди, машины, птицы,…
  • Что касается Объекта, то человек имеет характеристики (свойства): цвет волос, рост и форму, которые отличаются друг от друга, обладает способностью (поведением): умеет бегать, кричать.
  • Если есть 3 человека, например, по имени Джон, Дженн и Энн, то эти 3 человека называются 3 экземплярами человеческих объектов.
  • Тогда, если выяснится, что у Джона 2 имени, например Джон и Джош, то можно сказать, что в настоящее время у нас есть 4 переменные для 3 экземпляров
  • Таким образом, вы можете представить, что переменная — это просто метка, прикрепленная к объекту, и один экземпляр может иметь более одной переменной.
  • Если это автомобильный объект
  • Классможно представить как чертеж объекта автомобиля, который необходимо создать
    Конечно, чертеж для каждого автомобильного завода может быть разным, поскольку производство гоночных автомобилей (Ferrari) и изготовление автомобилей для перевозки грузов (Toyota) явно отличается.
  • Если есть 3 автомобиля, выпущенных заводом и названных красным, желтым и зеленым, то это называется 3 экземпляра.
  • Если красный автомобиль также назван, например, mobil_joni, это означает, что есть 4 переменные, указывающие на 3 экземпляра.

Примечания к исходному коду выше:

  • Имена классов должны начинаться с заглавной буквы (Uppercase).
  • Методы именования с использованием регистра Camel, например Rectangle, Square
    в приведенном выше примере программы представлены классом Rectangle.
  • Два экземпляра, потому что делать новое 2 раза, где первое поле имеет длину 10, а второе поле - 30, таким образом, в памяти компьютера есть только 2 места.
  • Есть 3 переменные (box1, box2 и box3)где box1 и box2 обозначают один и тот же экземпляр, checkbox1 и box2 имеют одинаковый object_id (0x00007fbc0f8c9150)

Знакомство с переменными-членами, переменными класса и переменными экземпляра.

  • В классе есть переменная-член. Переменные-члены делятся на 2 типа. Переменная экземпляра и переменная класса
  • Переменная экземпляра Например, @length и @width и Помните, что переменные экземпляра отличаются от экземпляров и отличаются от переменных. Эта переменная экземпляра показывает характеристики объекта. Например, если у автомобиля есть цвет, вид топлива, цена, Если у прямоугольника есть длина и ширина, Если у треугольника есть высота и основание, У круга есть радиус, если он есть. Переменная экземпляра начинается с «@» в своем имени. Его свойства распознаются всеми методами (def) в классе. По умолчанию все переменные экземпляра являются закрытыми, если только они не определены с помощью команды attr_.
  • переменная класса Например, @@total . Например, переменные класса обычно используются для анализа данных в целом. Например, если автозавод выпускает 1 автомобиль, то к переменной @@total добавляется 1, чтобы в итоге было известно, сколько автомобилей было выпущено. Значения переменных класса также распределяются между экземплярами. Например, если автомобильный завод последовательно производит красные, желтые и зеленые автомобили, каждый из этих экземпляров автомобиля может получить доступ к значению переменной класса.
  • метод класса, например, self.total_boxes в ruby ​​также есть так называемый метод класса. Способ объявить метод класса — начать с self. использование метода класса, например, мы хотим знать количество созданных объектов без создания нового экземпляра, количество созданных объектов можно проверить, вызвав имя класса, сопровождаемое именем метода.