Menambahkan konstruktor alternatif
Class method merupakan cara yang baik untuk menyediakan alternatif pembuatan objek dari sebuah kelas, misalnya dari sebuah berkas atau dengan menerima informasi berbeda dan melakukan tugas tertentu selama konstruksi untuk mengembalikan atribut yang diperlukan.
Pada latihan ini, Anda akan bekerja dengan kelas Person. Konstruktor mengharapkan nama dan usia saat inisialisasi. Anda akan menambahkan sebuah class method yang memungkinkan inisialisasi dengan memberikan nama dan tahun lahir, di mana metode tersebut kemudian akan menghitung usia dari tahun lahir.
Latihan ini adalah bagian dari kursus
Pengantar Pemrograman Berorientasi Objek di Python
Petunjuk latihan
- Tambahkan dekorator class method.
- Definisikan class method
from_birth_year()yang menerima tiga argumen: kata konvensional yang digunakan sebagai argumen khusus yang merujuk ke kelas,name, danbirth_year. - Di dalam metode, buat variabel
agedengan menghitung selisih antara atribut kelasCURRENT_YEARdanbirth_year. - Kembalikan atribut
namedanagedari kelas.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
class Person:
CURRENT_YEAR = 2024
def __init__(self, name, age):
self.name = name
self.age = age
# Add a class method decorator
____
# Define the from_birth_year method
def ____(____, ____, ____):
# Create age
age = ____.____ - ____
# Return the name and age
return ____(____, ____)
bob = Person.from_birth_year("Bob", 1990)