MulaiMulai sekarang secara gratis

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

Lihat Kursus

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, dan birth_year.
  • Di dalam metode, buat variabel age dengan menghitung selisih antara atribut kelas CURRENT_YEAR dan birth_year.
  • Kembalikan atribut name dan age dari 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)
Edit dan Jalankan Kode