클래스 및 속성 소개
1. 개요
1. 클래스 정의(class Dog(object)) --> 인스턴스화(d = Dog()) ---> 인스턴스 객체(d)
2.
3.self.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') # 生成一个角色
2.1
인스턴스 객체를 사용합니다 . 속성/메서드를 사용하여
r1.shot() # 调用shot 方法 r2.buy_gun('B13') # 调用 buy_gun的方法并传参 print(r1.role) # 打印类的属性 # 输出 Alex is shooting... Jack just bought B13 police
에 액세스합니다.
2.1 객체의 속성 수정
위의 예에서 r2 캐릭터의 무기를 변경했습니다. B22 --> B13. 그러나 실제로 r2 캐릭터의 무기 속성을 호출하면 그의 무기가 변경되지 않았음을 알 수 있습니다.
r2.buy_gun('B13') print(r2.weapon) # 输出 Jack just bought B13 B22 # 可以发现武器依然是 B22
실제로 무기를 구매할 때 개체의 속성을 직접 변경할 수 있습니다.
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. 비공개 속성
3.1. 비공개 속성 정의
클래스의 속성이 비공개 속성으로 정의되면 외부에서 호출하거나 마음대로 수정할 수 없습니다. 개인 속성은 클래스 내에서만 사용할 수 있습니다.
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'
작업 결과 속성 이름에 대한 액세스는 허용되지만 개인 속성 self.__address에 직접 액세스하면 오류가 보고됩니다. 하지만 다른 방법을 사용하면 계속 액세스할 수 있습니다.
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 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
3.3 사유 재산에 대한 강제 액세스
또한 사유 재산에 대한 강제 액세스 또는 사유 재산의 값을 수정하는 방법을 사용할 수도 있습니다. 방법: 객체 이름._클래스 이름__속성 이름.
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') print(p1._Person__address) # 访问私有属性 print("----change----") p1._Person__address = 'BJ' # 修改私有属性 print(p1._Person__address) #输出 hz ----change---- BJ
클래스는 애플리케이션을 단순화하고 최적화하는 데 중요한 도구입니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Win7 Ultimate 버전, Win7 Professional 버전, Win7 Home 버전 등과 같은 Win7 시스템 버전이 많다는 것은 누구나 알고 있습니다. 많은 사용자가 Home 버전과 Ultimate 버전 사이에서 얽혀 어떤 버전을 선택해야 할지 모릅니다. 그래서 오늘은 Win7 Family Meal과 Win7 Ultimate의 차이점에 대해 말씀드리겠습니다. 1. Different Home Basic Edition을 경험해 보세요. 일상적인 작업을 더 빠르고 간단하게 만들어 가장 자주 사용하는 프로그램과 문서에 더 빠르고 편리하게 액세스할 수 있습니다. Home Premium은 좋아하는 TV 프로그램, 사진, 비디오 및 음악을 쉽게 즐기고 공유할 수 있는 최고의 엔터테인먼트 경험을 제공합니다. Ultimate Edition은 각 에디션의 모든 기능을 통합하고 Windows 7 Home Premium의 모든 엔터테인먼트 기능과 전문 기능을 갖추고 있습니다.

SpringMVC의 주요 기능 이해: 이러한 중요한 개념을 익히려면 특정 코드 예제가 필요합니다. SpringMVC는 개발자가 MVC(Model-View-Controller) 아키텍처 패턴을 통해 유연하고 확장 가능한 구조를 구축하는 데 도움이 되는 Java 기반 웹 애플리케이션 개발 프레임워크입니다. 웹 애플리케이션. SpringMVC의 주요 기능을 이해하고 익히면 웹 애플리케이션을 보다 효율적으로 개발하고 관리할 수 있습니다. 이 기사에서는 SpringMVC의 몇 가지 중요한 개념을 소개합니다.

인터넷의 급속한 발전으로 프로그래밍 언어는 끊임없이 진화하고 업데이트되고 있습니다. 그 중 오픈소스 프로그래밍 언어인 Go 언어는 최근 몇 년간 많은 주목을 받고 있습니다. Go 언어는 간단하고 효율적이며 안전하고 개발 및 배포가 용이하도록 설계되었습니다. 높은 동시성, 빠른 컴파일, 메모리 안전성 등의 특징을 갖고 있어 웹 개발, 클라우드 컴퓨팅, 빅데이터 등 분야에서 널리 사용됩니다. 그러나 현재 다양한 버전의 Go 언어를 사용할 수 있습니다. 적합한 Go 언어 버전을 선택할 때 요구 사항과 기능을 모두 고려해야 합니다. 머리

5G의 세 가지 특징은 다음과 같습니다. 1. 고속, 실제 응용 분야에서 5G 네트워크의 속도는 4G 네트워크의 10배 이상입니다. 2. 낮은 대기 시간: 5G 네트워크의 대기 시간은 약 수십 밀리초로 인간의 반응 속도보다 빠릅니다. 3. 폭넓은 연결성, 5G 네트워크의 출현은 다른 기술과 결합하여 만물인터넷(Internet of Everything)의 새로운 장면을 창출할 것입니다.

Golang(Go 언어)에는 전통적인 의미의 클래스 개념이 없지만, 클래스와 유사한 객체지향 기능을 구현할 수 있는 구조체라는 데이터 형식을 제공합니다. 이 기사에서는 구조를 사용하여 객체 지향 기능을 구현하는 방법을 설명하고 특정 코드 예제를 제공합니다. 구조의 정의와 사용법 먼저 구조의 정의와 사용법을 살펴보자. Golang에서는 type 키워드를 통해 구조를 정의한 다음 필요한 곳에 사용할 수 있습니다. 구조에는 속성이 포함될 수 있습니다.

C++ 함수에는 단순 함수, const 함수, 정적 함수 및 가상 함수 유형이 있습니다. 기능에는 인라인 함수, 기본 매개변수, 참조 반환 및 오버로드된 함수가 포함됩니다. 예를 들어,calculateArea 함수는 π를 사용하여 주어진 반경의 원의 면적을 계산하고 이를 출력으로 반환합니다.

Java의 특징은 다음과 같습니다. 1. 간단하고 배우기 쉽습니다. 2. 코드를 더 쉽게 재사용하고 유지 관리할 수 있습니다. 3. 플랫폼 독립적이며 다양한 운영 체제에서 실행 가능합니다. 4. 자동 가비지를 통한 메모리 관리 수집 메커니즘 메모리 관리 5. 변수는 사용하기 전에 해당 유형을 선언해야 합니다. 6. 악성 코드의 무단 액세스 및 실행을 방지할 수 있는 보안. 8. 예외 처리를 통해 프로그램 충돌을 방지할 수 있습니다. 9. 다수의 개발 라이브러리 및 프레임워크 10. 오픈 소스 생태계.

빠르고 효율적인 프로그래밍 언어인 Golang은 웹 개발 분야에서도 널리 사용됩니다. 그 중 중요한 디자인 패턴인 미들웨어는 개발자가 코드를 더 잘 구성하고 관리할 수 있도록 도와주며, 코드의 재사용성과 유지 관리성을 향상시킬 수 있습니다. 이 기사에서는 Golang의 미들웨어의 주요 기능과 응용 시나리오를 소개하고 특정 코드 예제를 통해 사용법을 설명합니다. 1. 미들웨어의 개념 및 기능 미들웨어는 플러그인 구성요소로서 애플리케이션의 요청-응답 처리 체인에 위치하여 사용됩니다.
