본문 바로가기
[Python & Ruby]

[Python & Ruby] 상속

by Hevton 2020. 12. 28.
반응형

Python :

class Class1(object):
    def method1(self):
        return 'm1'

c1 = Class1()
print(c1.method1())

class Class2(Class1):
    def method2(self):
        return 'm2'

c2 = Class2()
print(c2.method1())
print(c2.method2())

 

Ruby :

class Class1
  def method1()
    return 'm1'
  end
end

c1 = Class1.new()
p c1.method1()


class Class2 < Class1
  def method2()
    return 'm2'
  end
end

c2 = Class2.new()
p c2.method1()
p c2.method2()

 

+ 자바는 생성자가 상속이 안되는데, 파이썬/자바는 생성자까지 상속이 된다.

ex)

자바

class h {
    public h(int a, int b) {

    }
    public h() {

    }
}
class b extends h {
    public b() {

    }
}
class hz {
    public static void main(String args[]) {
        b A = new b(10, 10); // 오류
    }
}

파이썬

class Class1(object):
    def __init__(self, a, b):
        self.a = a
        self.b = b

    def printz(self):
        print(self.a, self.b)


class Class2(Class1):
    def hello(self):
        print('h')


c2 = Class2(30, 40) # 가능
c2.printz()

 

 

 

출처 - opentutorials.org/

 

 참고

m.blog.naver.com/PostView.nhn?blogId=kkrdiamond77&logNo=221257665692&proxyReferer=https:%2F%2Fwww.google.com%2F

 

m.blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220961980579&proxyReferer=https:%2F%2Fwww.google.com%2F

 

 

반응형