Menu
CoddyTech

class Rectangle

Termasuk bagian Pemrograman Berorientasi Object dalam perjalanan Lua di Coddy. Pelajaran 56 dari 70.

challenge icon

Tantangan

Mudah

Sekarang, mari kembangkan Shape Manager dengan membuat class Rectangle yang mewarisi Shape dasar yang kamu buat di pelajaran sebelumnya.

Kamu akan menggunakan tiga file agar kodemu tetap teratur:

  • Shape.lua: class Shape dasar dari tantangan sebelumnya, dengan :new(name) dan :getName().
  • Rectangle.lua: Buat class Rectangle yang mewarisi Shape. Konstruktor harus menerima width dan height, memanggil konstruktor induk dengan nama "Rectangle", lalu menyimpan dimensinya. Tambahkan method :getArea() untuk menghitung dan mengembalikan luas persegi panjang.
  • main.lua: Muat module Rectangle, baca width dan height dari input, buat instance Rectangle, lalu cetak namanya diikuti luasnya pada baris terpisah.

Ingat untuk mengatur hubungan pewarisan dengan benar agar instance Rectangle dapat mengakses method Shape melalui rantai prototipe.

Input: Dua baris: baris pertama berisi width (angka), baris kedua berisi height (angka).

Output: Dua baris: nama persegi panjang dari :getName(), lalu luasnya dari :getArea().

Coba sendiri

-- Muat module Rectangle dengan require
local Rectangle = require('Rectangle')

-- Baca lebar dan tinggi dari input
local width = tonumber(io.read())
local height = tonumber(io.read())

-- Buat instance Rectangle baru dengan dimensi yang diberikan
local rect = Rectangle:new(width, height)

-- Cetak nama dan luas persegi panjang
print(rect:getName())
print(rect:getArea())

Semua pelajaran di Pemrograman Berorientasi Object

Latihan sendiri: Compiler Lua online