Boo 언어에서도 한 개의 소스 파일에 여러 개의 클래스가 존재해도 된다. 또 클래스명과 다른 파일명으로 저장해도 된다. Boo 언어의 구뮨 몸체는 Python 언어에서 빌려왔지만, Python 언어는 동적 타이핑(즉 변수의 타입이 실행시 결정되는) 언어, Boo 언어는 정적 타이핑(즉 변수의 타입이 컴파일시 결정되는) 언어라는 점이 다르다.
또한 Boo  언어는 닷넷환경에서 동작하는 만큼 내부적으로는 C# 언어에서 사용하는 개념들을 내포하고 있다.

다음은 두 개의 클래스로 구성되어 있다.
Parent는 부모 클래스이고 Child는 Parent에서 상속 받은 자식 클래스이다.


class Parent:
    _name as string
    def constructor():       # 클래스 생성자. 이것이 있어야 서브클래싱을 할 수 있다.
        pass
    def constructor(name as string):       # 클래스 생성자
        _name = name
    def sayName():
        print("I am Parent, " + _name)

class Child(Parent):        # 부모 클래스 상속
    def constructor(name as string):
        _name = name
    def sayName():
        print("I am a child, named as " + _name)

obj as Child = Child("Dooly")        # 클래스 생성
obj.sayName()



실행> booi testSubclassing.boo
I am a child, named as Dooly



크리에이티브 커먼즈 라이선스
Creative Commons License

 

Posted by Scripter
,