Mulai sekarangMulai gratis

Menggunakan atribut internal

Pada latihan ini, Anda akan kembali ke kelas BetterDate dari Bab 2.

Anda memutuskan untuk menambahkan sebuah metode yang memeriksa validitas tanggal, tetapi Anda tidak ingin menjadikannya bagian dari antarmuka publik BetterDate.

Kelas BetterDate tersedia di panel skrip.

Latihan ini merupakan bagian dari kursus

Pemrograman Berorientasi Objek di Python

Lihat Kursus

Instruksi latihan

  • Tambahkan sebuah atribut kelas _MAX_DAYS yang menyimpan jumlah maksimal hari dalam sebulan - 31.
  • Tambahkan atribut kelas lain yang menyimpan jumlah maksimal bulan dalam setahun - 12. Gunakan konvensi penamaan yang sesuai untuk menunjukkan bahwa ini adalah atribut internal.
  • Tambahkan metode _is_valid() yang mengembalikan True jika atribut day dan month kurang dari atau sama dengan nilai maksimum masing-masing, dan False jika sebaliknya. Pastikan merujuk atribut kelas berdasarkan namanya!

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Add class attributes for max number of days and months
class BetterDate:
    ____
    
    def __init__(self, year, month, day):
        self.year, self.month, self.day = year, month, day
        
    @classmethod
    def from_str(cls, datestr):
        year, month, day = map(int, datestr.split("-"))
        return cls(year, month, day)
    
    # Add _is_valid() checking day and month values
    ____
    
bd1 = BetterDate(2020, 4, 30)
print(bd1._is_valid())

bd2 = BetterDate(2020, 6, 45)
print(bd2._is_valid())
Edit dan Jalankan Kode