Menu
Coddy logo textTech

Özet - Araba Fabrikası

Coddy'nin Lua Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 11 / 70.

challenge icon

Görev

Kolay

Bu bölümde öğrendiğiniz her şeyi bir araya getiren eksiksiz bir Car sınıfı oluşturalım! Her arabanın kendi modeline ve rengine sahip olduğu, uygun modül organizasyonunu ve bağımsız örnekleri (instances) gösteren bir araba fabrikası sistemi oluşturacaksınız.

Kodunuzu iki dosya halinde düzenleyeceksiniz:

  • Car.lua: Standart prototip modelini takip ederek Car sınıfınızı tanımlayın. Sınıfınızın, kendi niteliklerine sahip arabalar oluşturan bir :new(model, color) yapıcı metoduna (constructor) ihtiyacı vardır. Her arabanın kendisini tanıtmasını sağlayan bir :describe() metodu ekleyin.
  • main.lua: Car modülünüzü dahil edin (require) ve her arabanın kendi bağımsız durumunu koruduğunu göstermek için birden fazla araba örneği oluşturun.

:describe() metodunuz tam olarak şu formatta çıktı vermelidir:

A [color] [model]

Dört adet girdi alacaksınız:

  1. Birinci araba için model
  2. Birinci araba için renk
  3. İkinci araba için model
  4. İkinci araba için renk

Ana dosyanızda, sağlanan girdileri kullanarak iki araba oluşturun ve her birinin ayrı bir satırda kendisini tarif etmesini sağlayın.

Örneğin, girdiler Sedan, blue, Truck ve red ise çıktı şu şekilde olmalıdır:

A blue Sedan
A red Truck

Her araba kendi modelini ve rengini saklamalıdır; bu, sınıfınızın gerçekten bağımsız örnekler oluşturduğunu kanıtlar.

Kendin dene

-- Car modülünü dahil et
local Car = require('Car')

-- Girdileri oku
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()

-- YAPILACAK: Car:new() kullanarak iki araba örneği oluşturun
-- YAPILACAK: Açıklamalarını yazdırmak için her araba üzerinde :describe() metodunu çağırın

Object Oriented Programming bölümündeki tüm dersler