ずっと独学でやっていたのですが、最近大きめのアプリを作るようになり、コードが3000行に近づいてきたため、オブジェクト指向できちんと整理する必要を感じています。
オブジェクト指向については、書籍やwebで読んで勉強した程度です。
いま疑問に思っているのが、明らかにある特定のclassの配下でしか用いられないclassをどのように定義したらいいのかということです。
たとえば、
Gakkyu > Student
という関係があり、
・Gakkyuは複数のStudentを保持する
・Studentは基本的にGakkyuの配下でしか使われない
とします。
その場合の書き方として以下の2通りが考えられると思います。
その1
python
1Class Gakkyu(): 2 def __init__(self,data): 3 data > 適宜の処理:self.students = [StudentA,StudentB,StudentC,...] 4 5 def sum_methods(self): 6 .... 7 8Class Student(): 9 def __init__(self,name,no): 10 self.name=name 11 self.no=no 12 13 def sum_methods(self): 14 ....
その2
python
1Class Gakkyu(): 2 def __init__(self,data): 3 data > 適宜の処理:self.students = [StudentA,StudentB,StudentC,...] 4 5 def sum_methods(self): 6 .... 7 8 Class Student(): 9 def __init__(self,name,no): 10 self.name=name 11 self.no=no 12 13 def sum_methods(self): 14 ....
素朴な考えとして、Studentが確実にGakkyuの配下にあるのなら、ClassもGakkyuの配下におくほうが自然な感じがします。
しかしClassを並列においているケースも見かけるように思います。
この場合、
(1)原則的にどちらの方法をとるべきでしょうか
(2)その理由はなんでしょうか、(原則的なやり方のメリット、原則的でないやり方のデメリットなど)
この点についてアドバイスをいただけると幸いです。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/08/16 23:03