AIFFEL 2022.01.05

716 ワード

Python
抽象クラス
  • 抽象クラスは、派生クラスが実装しなければならない方法を決定することができる.
  • 抽象クラスが実装されたかどうかを決定するすべての抽象メソッドは、派生クラスがインスタンスを作成するときです.
  • 抽象クラスはインスタンスとして作成できません.
  • from abc import *      #abc : abstract class
    #import abc 하면 meataclass=abc.ABCMeta로 해야함.
    
    class StudentBase(metaclass=ABCMeta):
        @abstractmethod
        def study(self):
            pass #추상클라스의 메서드는 호출될 일이 없다.
     
        @abstractmethod
        def go_to_school(self):
            pass
     
    class Student(StudentBase):
        def study(self):
            print('공부하기')
     
        def go_to_school(self):
            print('학교가기')
     
    james = Student() #파생클래스에서 추상클라스의 모든 메서드가 만들어졌는지 확인하고 없으면 에러 발생
    james.study()
    james.go_to_school()