オブジェクト指向プログラミングとカテゴリ(クラス)はじめに:オブジェクト指向(1)の第VII章

スタートから、我々はオブジェクト指向プログラミングを学習含まれていました。オブジェクト指向プログラミングは何ですか?まず、我々は簡単にいくつかの基本的な定義を説明します。

オブジェクト指向プログラミング:プログラミングパラダイムの
プログラミングパラダイム:プロセス指向/オブジェクト指向

データ構造:構造、効率的にデータを格納するために使用されるものの辞書の一覧
アルゴリズム:プログラミングロジック

  1. プロセス指向のコンパイル

コアプロセスは、単語であるという問題を解決するために、プロセス工程を指します。 - パイプライン、思考の機械的な方法を設計します。ステッププロセスによるブレーク問題工程の後

  • 利点:
    • 複雑なプロセスの問題、これ簡素化
  • 短所:
    • 悪いスケーラビリティ
  1. オブジェクト指向プログラミング - ビューの神ポイント:すべてが対象です

オブジェクトとは何か:オブジェクトが特徴とスキルの組み合わせです

  • 利点:
    • スケーラビリティ、
  • 短所:
    • プログラミングの高い複雑
  • シナリオ:
    • 常にユーザー、インターネットアプリケーション、ゲーム、エンタープライズアプリケーションのニーズの変化

オブジェクト指向プログラミングは、三つの主要な特性があります。

  1. 受け継ぎます
  2. ポリモーフィズム
  3. パッケージ

オブジェクト指向およびプロセス指向の強み、状況を確認するために選択したモード

7.1クラスクラス

クラスは、同様の機能のスキルの組み合わせを持つオブジェクトの集合であります

彼は強調した:ビューの異なる点は、取得した分類が同じではありません

現実の世界では:既存のオブジェクト、クラスの後に
プログラムで:最初の(インスタンス化)オブジェクト生成後、クラスを定義します

オブジェクトを分析するときには、例えば、以下の生徒のカテゴリを開始するために起動することができます。

  1. 分析
  • 現実の世界では:
    • オブジェクト1:王暁明
      • 特徴:
        • 大学の学校= AAA
        • 名前=暁明
        • 性別=男性
        • 年齢= 12
      • スキル:
        • ラーニング
        • 食べます
        • スリープ
    • オブジェクト2:李小遊
      • 特徴:
        • 大学の学校= AAA
        • 名前=李雨
        • 性別=女性
        • 年齢= 11
          スキル:
          学習
          食べて
          睡眠を
  • 現実世界での学生のクラスを要約したものです。
    • 同様の特性:
      • 学校=「AAA大学」
    • 同様のスキル:
      • ラーニング
      • 食べます
      • スリープ
  1. クラスの定義
class Student:
    school = 'aaa'  # 特征:变量
    
    def learn(self):  # 技能:函数
        print('learning')
        
    def eat(self):  # 这个self就是用来自动传参,不一定非要用self,用x什么的也行,只是约定俗成用self
        print('eating')
        
    def sleep(self):
        print('sleeping')
  1. オブジェクトを生成します:インスタンス
stu1 = Student()  # 类的返回就是个对象:实例化
stu2 = Student()

クラス7.2の使い方

クラス定義フェーズでは、クラスが実行されました。

関数定義の段階、実行されません、唯一の呼び出しが実行されます。

Class属性操作(CRUD)とインスタンス化:

class Student:
    school = 'aaa'  # 变量又称-类的数据属性
    
    def learn(self):  # 函数又称-类的函数属性
        print('learning')
        
    def eat(self):
        print('eating')
        
    def sleep(self):
        print('sleeping')
        
    print('=====run=====')  # 测试执行定义类的语句是否执行内部代码

# 查看类的命名空间
print(Student.__dict__)
print(Student.__dict__['school'])  # 可以访问,但是我们可以用python提供的方法访问类的属性
print(Student.__dict__['learn'])  # 可以访问,但是我们可以用python提供的方法访问类的属性

# 访问类的属性:查看类的属性
print(Student.school) 
print(Student.learn) 

# 增加属性
Student.country = 'China'  # 往字典里增加变量
print(Student.country)

# 删除
del Student.country

# 改
Student.school = 'bbb'
Student.school

# 实例化:生成一个对象
stu1 = Student()  # 实例化一个叫做stu1的对象

おすすめ

転載: www.cnblogs.com/py-xiaoqiang/p/11210394.html