クラスと属性の概要
1. 概要
1. クラス (class Dog(object)) を定義する --> インスタンス化 (d = Dog())
2.
3. self.name = name クラスの属性、メンバー変数
4. def Say_hi()クラスのメソッド、動的属性
2. クラスの属性とメソッドにアクセスする
インスタンス オブジェクト .
属性/メソッドを使用してclass Role(object):
def __init__(self, name, role, weapon, life_value=100, money=15000):
self.name = name
self.role = role
self.weapon = weapon
self.life_value = life_value
self.money = money
def shot(self):
print("%s is shooting..." % self.name)
def got_shot(self):
print("ah...,%s got shot..." % self.name)
def buy_gun(self, gun_name):
print("%s just bought %s" % (self.name,gun_name))
r1 = Role('Alex', 'police', 'AK47') # 生成一个角色
r2 = Role('Jack', 'terrorist', 'B22') # 生成一个角色
r1.shot() # 调用shot 方法
r2.buy_gun('B13') # 调用 buy_gun的方法并传参
print(r1.role) # 打印类的属性
# 输出
Alex is shooting...
Jack just bought B13
police
ログイン後にコピー
実際、武器を購入するときにオブジェクトの属性を直接変更できます: r1.shot() # 调用shot 方法 r2.buy_gun('B13') # 调用 buy_gun的方法并传参 print(r1.role) # 打印类的属性 # 输出 Alex is shooting... Jack just bought B13 police
r2.buy_gun('B13') print(r2.weapon) # 输出 Jack just bought B13 B22 # 可以发现武器依然是 B22
3.1. プライベート属性を定義する
クラスの属性をプライベート属性として定義すると、外部から呼び出したり、自由に変更したりすることはできません。プライベート プロパティはクラス内でのみ使用できます。def buy_gun(self, gun_name):
print("%s just bought %s" % (self.name, gun_name))
self.weapon = gun_name # 在方法内改变属性
r2.buy_gun('B13')
print(r2.weapon)
#输出
Jack just bought B13
B13 # 可以发现武器已经改变
ログイン後にコピー
操作の結果、属性nameへのアクセスは問題ありませんが、プライベート属性self.__addressに直接アクセスするとエラーが報告されます。ただし、他の方法を使用してもアクセスできます。 def buy_gun(self, gun_name): print("%s just bought %s" % (self.name, gun_name)) self.weapon = gun_name # 在方法内改变属性 r2.buy_gun('B13') print(r2.weapon) #输出 Jack just bought B13 B13 # 可以发现武器已经改变
3.2. getメソッドはプライベートプロパティにアクセスします
プライベートプロパティには外部から直接アクセスすることはできませんが、クラス内からはアクセスできるので、プライベートプロパティを取得するメソッドを定義できます。class Person(object):
def __init__(self, name, job, phone, address):
self.name = name
self.job = job
self.phone = phone
self.__address = address # 定义一个私有属性
def sayhi(self):
print("hell,%s" % self.name)
p1 = Person('Bigberg', 'Doctor', '8833421', 'hz')
print(p1.name)
print(p1.__address) # 访问私有属性
# 输出
Bigberg
File "G:/python/untitled/study6/类的私有属性.py", line 17, in <module>
print(p1.__address)
AttributeError: 'Person' object has no attribute '__address'
ログイン後にコピー
class Person(object): def __init__(self, name, job, phone, address): self.name = name self.job = job self.phone = phone self.__address = address # 定义一个私有属性 def sayhi(self): print("hell,%s" % self.name) p1 = Person('Bigberg', 'Doctor', '8833421', 'hz') print(p1.name) print(p1.__address) # 访问私有属性 # 输出 Bigberg File "G:/python/untitled/study6/类的私有属性.py", line 17, in <module> print(p1.__address) AttributeError: 'Person' object has no attribute '__address'
class Person(object):
def __init__(self, name, job, phone, address):
self.name = name
self.job = job
self.phone = phone
self.__address = address
def get_private(self):
return self.__address
def sayhi(self):
print("hell,%s" % self.name)
p1 = Person('Bigberg', 'Doctor', '8833421', 'hz')
res = p1.get_private()
print(res)
# 输出
hz
ログイン後にコピー
クラスは、アプリケーションを簡素化し、最適化するための重要なツールです。
class Person(object): def __init__(self, name, job, phone, address): self.name = name self.job = job self.phone = phone self.__address = address def get_private(self): return self.__address def sayhi(self): print("hell,%s" % self.name) p1 = Person('Bigberg', 'Doctor', '8833421', 'hz') res = p1.get_private() print(res) # 输出 hz
1. 継承: サブクラスが親クラスの特性を継承する機能。これは、オブジェクト指向プログラミング手法の共有を具体化して拡張し、同じタイプのオブジェクトがデータとプログラム コードを共有できるようにして、プログラムの再利用性を向上させます。親クラスは、さらに定義して新しいクラスを派生できるクラスであり、サブクラスは、他のクラスを出発点として使用し、より具体的な特性を定義することによって確立される新しいクラスです。 2. ポリモーフィズム: 一部の関連クラスには同じ名前のメソッドが含まれていますが、メソッドの内容は異なる場合があります。どちらを呼び出すかは、オブジェクトのクラスに基づいて実行時に決定され、同じメッセージが異なるオブジェクトによって受信されると、異なるアクションが発生する可能性があります。 3. 抽象化: クラスまたはオブジェクトに関する他の情報を処理せずに、クラスまたはオブジェクトの特徴を抽出します。
4. 概要
1. プライベート属性を定義します: self.__private_attr_name = private_attr_name
2. プライベート属性への必須アクセス: オブジェクト名._クラス名__属性名 (d._dog__sex)
3.外部読み取り専用インターフェイスアクセスを提供します:
def get_sex(self):
return self.__sex
以上がクラスと属性の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









win7システムには、win7Ultimateバージョン、Win7Professionalバージョン、Win7Homeバージョンなど、多くのバージョンがあることは誰もが知っています。多くのユーザーは、HomeバージョンとUltimateバージョンの間で迷っており、どのバージョンを選択すればよいかわかりません。そこで今日は、Win7 Family Meal と Win7 Ultimate の違いについて説明します。 1. Experience Different Home Basic Edition を使用すると、日常の操作がより迅速かつ簡単になり、最も頻繁に使用されるプログラムやドキュメントにより迅速かつ便利にアクセスできるようになります。 Home Premium は最高のエンターテインメント体験を提供し、お気に入りのテレビ番組、写真、ビデオ、音楽を簡単に楽しんだり共有したりできます。 Ultimate Edition は、各エディションのすべての機能を統合し、Windows 7 Home Premium のすべてのエンターテイメント機能とプロフェッショナル機能を備えています。

SpringMVC の主要な機能を理解する: これらの重要な概念を習得するには、特定のコード例が必要です。 SpringMVC は、開発者が Model-View-Controller (MVC) アーキテクチャ パターンを通じて柔軟でスケーラブルな構造を構築するのに役立つ Java ベースの Web アプリケーション開発フレームワークです。ウェブアプリケーション。 SpringMVC の主要な機能を理解して習得すると、Web アプリケーションをより効率的に開発および管理できるようになります。この記事では、SpringMVC の重要な概念をいくつか紹介します。

インターネットの急速な発展に伴い、プログラミング言語は常に進化し、更新されています。中でもGo言語はオープンソースのプログラミング言語として近年注目を集めています。 Go 言語は、シンプル、効率的、安全で、開発とデプロイが簡単になるように設計されています。高い同時実行性、高速なコンパイル、メモリの安全性などの特徴を備えており、Web開発、クラウドコンピューティング、ビッグデータなどの分野で広く使用されています。ただし、現在、Go 言語のさまざまなバージョンが利用可能です。適切な Go 言語バージョンを選択するときは、要件と機能の両方を考慮する必要があります。頭

Golang (Go 言語) には伝統的な意味でのクラスの概念はありませんが、構造体と呼ばれるデータ型が提供され、これによってクラスと同様のオブジェクト指向機能を実現できます。この記事では、構造体を使用してオブジェクト指向機能を実装する方法を説明し、具体的なコード例を示します。構造体の定義と使用法 まず、構造体の定義と使用法を見てみましょう。 Golang では、type キーワードを通じて構造を定義し、必要に応じて使用できます。構造には属性を含めることができます

5g の 3 つの特徴は次のとおりです: 1. 高速; 実用的なアプリケーションでは、5G ネットワークの速度は 4G ネットワークの 10 倍以上です。 2. 低遅延; 5G ネットワークの遅延は約数十ミリ秒であり、人間の反応速度よりも高速です。 3. 幅広い接続: 5G ネットワークの出現と他のテクノロジーの組み合わせにより、すべてのインターネットの新しいシーンが生まれます。

C++ 関数には、単純関数、const 関数、静的関数、および仮想関数というタイプがあり、インライン関数、デフォルト パラメーター、参照戻り値、およびオーバーロードされた関数などの機能が含まれます。たとえば、calculateArea 関数は π を使用して、指定された半径の円の面積を計算し、それを出力として返します。

Java の特徴は次のとおりです: 1. シンプルで学習が簡単; 2. オブジェクト指向なので、コードの再利用性と保守性が向上します; 3. プラットフォームに依存せず、さまざまなオペレーティング システムで実行可能; 4. 自動ガベージによるメモリ管理収集メカニズム メモリの管理 5. 強力な型チェック、変数は使用前に型を宣言する必要がある 6. セキュリティ、不正なアクセスや悪意のあるコードの実行を防ぐことができる 7. マルチスレッドのサポート、パフォーマンスと応答性を向上させることができるプログラム ; 8. 例外処理によりプログラムのクラッシュを回避できる; 9. 多数の開発ライブラリとフレームワーク; 10. オープンソースのエコシステム。

Golang は高速で効率的なプログラミング言語として、Web 開発の分野でも広く使用されています。その中でも、ミドルウェアは重要な設計パターンであり、開発者がコードをより適切に整理および管理し、コードの再利用性と保守性を向上させるのに役立ちます。この記事では、Golang のミドルウェアの主な機能とアプリケーション シナリオを紹介し、具体的なコード例を通じてその使用法を説明します。 1. ミドルウェアの概念と機能 ミドルウェアはプラグイン コンポーネントとして、アプリケーションの要求と応答の処理チェーンに配置され、使用されます。
