반응형
파이썬 - 상속

 

▶ 다음은 원의 넓이를 구하는 프로그램입니다.
 

class Circle:
    def __init__(self, 반지름):
        self.파이 = 3.14
        self.반지름 = 반지름
        
    def 넓이(self):
        return self.반지름 * self.반지름 * self.파이
    
    def 출력(self):
        print('='*20)
        print('*'*20)
        print('='*20)
        print(f'원의 반지름 : {self.반지름}')
        print(f'넓이 : {self.넓이()}')
        print('='*20)
        print('*'*20)
        print('='*20)

circle = Circle(24)
circle.출력()


▶ 위의 코드에서 정삭각형의 넓이를 구하는 부분을 추가해 보도록 하겠습니다.

class Circle:
    def __init__(self, 반지름):
        self.파이 = 3.14
        self.반지름 = 반지름
        
    def 넓이(self):
        return self.반지름 * self.반지름 * self.파이
    
    def 출력(self):
        print('='*20)
        print('*'*20)
        print('='*20)
        print(f'원의 반지름 : {self.반지름}')
        print(f'넓이 : {self.넓이()}')
        print('='*20)
        print('*'*20)
        print('='*20)

class Square:
    def __init__(self, 길이):
        self.길이 = 길이
    def 넓이(self):
        return self.길이 ** 2
    def 출력(self):
        print('='*20)
        print('*'*20)
        print('='*20)
        print(f'정사각형의 한 변의 길이 : {self.길이}')
        print(f'넓이 : {self.넓이()}')
        print('='*20)
        print('*'*20)
        print('='*20)
        
    
circle = Circle(24)
circle.출력()
square = Square(10)
square.출력()

 

  위의 코드에서 공통된 부분을 따로 코딩해 보겠습니다.

class Shape:
    def 출력(self):
        print('='*20)
        print('*'*20)
        print('='*20)
        self.출력2()
        print(f'넓이 : {self.넓이()}')
        print('='*20)
        print('*'*20)
        print('='*20)


class Circle(Shape):
    def __init__(self, 반지름):
        self.파이 = 3.14
        self.반지름 = 반지름
        
    def 넓이(self):
        return self.반지름 * self.반지름 * self.파이
    
    def 출력2(self):
        print(f'원의 반지름 : {self.반지름}')
        
       
class Square(Shape):
    def __init__(self, 길이):
        self.길이 = 길이
    def 넓이(self):
        return self.길이 ** 2
    def 출력2(self):
        print(f'정사각형의 한 변의 길이 : {self.길이}')
             
    
circle = Circle(24)
circle.출력()
square = Square(10)
square.출력()

 

반응형
Posted by 명문코딩컴퓨터
,