python 面向对象案例
时间: 2023-12-08 13:39:08 浏览: 101
Python是一种面向对象的编程语言,它支持类、对象、继承、封装和多态等面向对象的特性。下面是三个Python面向对象的案例:
1. 迭代对象属性:定义一个类A,包含属性m、n和方法xyz,创建对象obj并打印出其属性列表中不以双下划线开头的属性名。
2. 对象属性复制:定义一个类MyClass,包含属性foo和bar,创建两个对象obj1和obj2,将obj1的属性foo的值改为25,并将obj1的所有属性复制到obj2中,最后打印出obj1和obj2的属性foo的值。
3. 封装的例子:定义一个类Encapsulation,包含私有属性__name和公有方法get_name,创建对象pobj并打印出其私有属性__name的值。
相关问题
python 面向对象 案例
Python是一种面向对象的编程语言,它支持类、对象、继承、多态等特性。下面我给您介绍一个Python面向对象的案例。
假设我们要写一个游戏,这个游戏中有一个角色类,可以移动、攻击、防御等。我们可以先定义一个角色类,如下所示:
```
class Role:
def __init__(self, name, hp, mp, atk, defense):
self.name = name
self.hp = hp
self.mp = mp
self.atk = atk
self.defense = defense
def move(self):
print(f"{self.name} is moving.")
def attack(self):
print(f"{self.name} is attacking.")
def defense(self):
print(f"{self.name} is defending.")
```
在这个角色类中,我们定义了角色的属性和方法,包括姓名、生命值、魔法值、攻击力、防御力和移动、攻击、防御方法。
接下来我们可以创建一个角色对象,如下所示:
```
role1 = Role("Tom", 100, 50, 10, 5)
```
这个对象的姓名是Tom,生命值是100,魔法值是50,攻击力是10,防御力是5。
我们可以调用这个对象的方法来进行移动、攻击和防御等操作,如下所示:
```
role1.move()
role1.attack()
role1.defense()
```
这样就完成了一个简单的Python面向对象的案例。
python 面向对象编程案例
以下是一个简单的 Python 面向对象编程案例:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(f"My name is {self.name} and I am {self.age} years old.")
class Student(Person):
def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major
def introduce(self):
print(f"My name is {self.name}, I am {self.age} years old, and I major in {self.major}.")
class Teacher(Person):
def __init__(self, name, age, subject):
super().__init__(name, age)
self.subject = subject
def introduce(self):
print(f"My name is {self.name}, I am {self.age} years old, and I teach {self.subject}.")
# 创建对象
person1 = Person("Tom", 25)
student1 = Student("Jerry", 20, "Computer Science")
teacher1 = Teacher("John", 30, "Mathematics")
# 调用方法
person1.introduce()
student1.introduce()
teacher1.introduce()
```
此代码定义了一个 `Person` 类,以及两个子类 `Student` 和 `Teacher`。每个类都有一个 `introduce` 方法,用于打印该对象的信息。然后创建了三个对象,分别是普通人、学生和老师,并调用了他们的 `introduce` 方法。
输出结果为:
```
My name is Tom and I am 25 years old.
My name is Jerry, I am 20 years old, and I major in Computer Science.
My name is John, I am 30 years old, and I teach Mathematics.
```
这个案例展示了 Python 面向对象编程的一些基本概念,包括继承、多态和方法重写。
阅读全文