1. 程式人生 > 實用技巧 >面向物件-03

面向物件-03

'''
物件與物件之間的巢狀(組合):
假如現在有這樣一個要求: 有兩所學校,現在往學校裡分配倆老師.也即我們在這裡是無法在未分配前知道哪個老師歸屬於哪個學校的,所以我們需要建立兩個類.
一個用來裝學校,一個用來裝老師,當分配好後再把每個老師所屬的學校給加上去.
  物件與物件之間的巢狀,在寫資料結構時也會遇到.

class School(object):

def __init__(self, name, address):
self.name = name

self.address = address

class Teacher(object):

def __init__(self, name, age, salary):
self.name = name
self.age = age
self.__salary = salary
self.school = None # 通過在Teacher類的構造方法中封裝一個school屬性,來實現後續的倆物件之間的連結

obj1 = School('北京校區', '北京沙河')

obj2 = School('南京校區', '南京老街')
t1 = Teacher('王克友', 38, 10000)
t2 = Teacher('高方傑', 20, 80000)
t1.school = obj1 #通過school屬性實現了t1與obj1這兩個物件之間的連結,也即給第一個老師加上了所在學校這一資訊.這也實現了t1巢狀obj1物件.
t2.school = obj2





'''