Серия 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. использование метода класса, например, мы хотим знать количество созданных объектов без создания нового экземпляра, количество созданных объектов можно проверить, вызвав имя класса, сопровождаемое именем метода.