面向对象练习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# first

class User(object):
def __init__(self, name,age):
self.name = name
self.age = age

def __str__(self):
return ("我叫 %s 今年 %s" % (self.name,self.age))

Steve = User("Steve", "18")
print(Steve)


# second
class BankAccount(object):

def __init__(self):
self.__balance = 0

def deposit(self,amount):
self.__balance += amount
self.__log()

def withdraw(self, amount):
if amount > self.__balance:
print("余额不足")
else:
self.__balance -= amount
self.__log()
def show_balance(self):
print(f"当前余额: {self.__balance}")

def __log(self):
print("已保存")

acc = BankAccount()
acc.deposit(100)
acc.withdraw(300)
acc.show_balance()


# 3
class Animal(object):
def speak(self):
print("动物在叫")
class Dog(Animal):
def speak(self):
print("汪汪叫")

a = Animal()
d = Dog()

a.speak()
d.speak()




#4
class Person(object):
def __init__(self,name):
self.name = name

class Student(Person):
def __init__(self, name, score):
super().__init__(name)
self.score = score


s = Student("Steve", 100)
print(s.name,s.score)


#5

class A:
def hello(self):
print("A")

class B:
def hello(self):
print("B")

class C(A, B):
pass
c = C()
c.hello()
print(C.mro())