🔥

Python100本ノック#4 オブジェクト指向プログラミングの実行例

2023/11/27に公開

OOPの実行例をやってみる

オブジェクト指向プログラミング (OOP: Object-Oriented Programming)

実行例1(学生情報管理)

  • 属例
    • 名前
    • 成績
  • メソッド
    • 成績評価
      • 90 < 点数 → 秀
      • 80 < 点数 < 90 → 優
      • 70 < 点数 < 80 → 良
      • 60 < 点数 < 70 → 可
      • 点数 < 60 → 不可
# 1、学生のクラスを定義
class Student():
    # 2、属性を定義
    def __init__(self, name, score):
        self.name = name
        self.score = score

    # 3、メソッド(成績評価方法)を定義
    def print_grade(self):
        if self.score >= 90:
            print(f'名前:{self.name},成績:{self.score},秀')
        elif self.score >= 80:
            print(f'名前:{self.name},成績:{self.score},優')
        elif self.score >= 70:
            print(f'名前:{self.name},成績:{self.score},良')
        elif self.score >= 60:
            print(f'名前:{self.name},成績:{self.score},可')
        else:
            print(f'名前:{self.name},成績:{self.score},不可')

# 4、インスタンス化
tanaka = Student('Tanaka', 80)
tanaka.print_grade()

yamada = Student('Yamada', 59)
yamada.print_grade()

output

名前:Tanaka,成績:80,優
名前:Yamada,成績:59,不可

実行例2(健康管理)

  • 属例
    • 名前
    • 体重
  • メソッド
    • ラーニング
      • 体重 - 0.5 kg
    • 食事する
      • 体重 + 1.0 kg
# 1、クラス定義
class Person():
    # 2、属性定義
    def __init__(self, name, weight):
        self.name = name
        self.weight = weight

    # 3、returnを定義
    def __str__(self):
        return f'名前:{self.name},今の体重:{self.weight}KG'

    # 4、ラーニングメソッドを定義
    def run(self):
        self.weight -= 0.5

    # 5、食するメソッドを定義
    def eat(self):
        self.weight += 1

# 6、インスタンス化
Bob = Person('Bob', 65.0)
print(Bob)

# 7、食事する。
Bob.eat()
print(Bob)

# 8、ラーニング
Bob.run()
print(Bob)

output

名前:Bob,今の体重:65.0KG
名前:Bob,今の体重:66.0KG
名前:Bob,今の体重:65.5KG

Discussion