Телеграм чат начинающих программистов. Общаемся и помогаем друг другу
Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush
или
пойти другим путем
Напишите заготовку для небольшого магазинчика, который торгует фильмами и книгами.
Создайте класс продукта, у экземпляров которого есть два поля: цена и количество на складе. При создании нового продукта можно передать значения цены и остатка. Для этих переменных сделайте геттеры.
Унаследуйте от этого класса два других: книгу и фильм соответственно. Своих переменных у этих классов пока нет.
Создайте в основной программе какой-нибудь продукт, например «фильм Леон». Выведите его стоимость в консоль.
Фильм Леон стоит 290 руб.
Создайте для этой программы локальный репозиторий. Мы к ней ещё вернёмся.
Создайте классы Product
, Movie
и Book
, каждый в своём файле соответственно (не забудьте положить файлы классов в папку lib
).
2-й, 3-й классы отнаследуйте от класса продукта. Напишите у класса продукта конструктор initialize(params)
, который принимает на вход ассоциативный массив params
и записывает в поля значения своих аргументов, доставая их по соответствующим ключам.
Потом подключите эти файлы в основную программу с помощью require_relative
и создайте фильм.
Например, так:
movie = Movie.new(price: 290, amount: 4)