オブジェクト(OPP)向けの三大特徴の継承
6173 ワード
OPP( ) :
1.
2.
3.
.
1. :
a b
OPP
2. : ,
, ,
, a b, a b ( ) ( ).
: a b,a ( ),b ( )
:
class Tecahter:
school = 'oldboy'
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
def tecahing(self):
print('%s is teaching' % self.name)
class Student():
school = 'oldboy'
def __init__(self,name,age,gender,number):
self.name = name # , , , ,
self.age = age
self.gender = gender
self.number = number
def studying(self):
print('%s is studying')
, , ,
, ,
class Teacher:
school = 'oldboy'
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
def tecahing(self):
print('%s is tecahing' % self.name)
class Student(Teacher):
def studying(self):
print('%s is studying' % self.name)
t1 = Teacher('egon',67,'male')
t1.tecahing()
print(t1.age)
print(t1.gender)
stu1 = Student('deng',18,'male')
stu1.studying()
print(stu1.age)
print(stu1.gender)
.
,
, ?
, ( , ),
, , , ,
( , , ),
, , ( ), ,
( , )
, , ,
, , ,
3
3
class OldboyPerson: # OldboyPerson , ,
school = 'oldboy'
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
def say_hi(self):
print('hello,i am %s' % self.name)
class Tecaher(OldboyPerson):
def tecahing(self):
print('%s is tecahing' % self.name)
class Student(OldboyPerson):
def studying(self):
print('%s is studying' % self.name)
t1 = Tecaher('egon',79,'female')
t1.tecahing()
t1.say_hi() # ,egon deng ,
stu1 = Student('deng',18,'man')
stu1.studying()
stu1.say_hi()
.
--->
---> ---> ---> ..........--->object
object:
object , object
object
object
:
object python3
python2 object object
class Father(object):
age = 30
class Son(Father):
# age = 7
pass
s1 = Son()
# print(s1.__dict__)
# s1.age = 29 # age, age, , age
# print(s1.__dict__)
print(s1.age)
.
: list
class MyList(list):
def append(self,object):
print('append run')
if type(object) == int:
list.append(self,object)
else:
print(' ')
li = MyList()
# li.append(100)
# print(li)
li.append('abc')
print(li)
.
:
, ,
:
, , ,
,
class Person:
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
def say_hi(self):
print(' , %s' % self.name)
class Student(Person):
# say_hi
def say_hi(self):
print('hello my name is %s,age is %s' % (self.name,self.age))
stu1 = Student('deng',18,'man')
stu1.say_hi()
.
,
super().
class Person:
test = '1234'
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
def say_hi(self):
print(self.name,self.age,self.gender)
class Student(Person):
def __init__(self,name,age,gender,number):
# self.name = name
# self.age = age
# self.gender = gender
# Person.__init__(self,name,age,gender) #
# super(Student, self).__init__(name,sex,age) # super python2
super().__init__(name,age,gender) # super()
self.number = number
print(super().test) #
def say_hi(self):
super().say_hi()
print(self.number)
stu1 = Student("Egon", "woman", 100,"olboy 007")
stu1.say_hi()
転載先:https://www.cnblogs.com/dengyanchuan/p/10402185.html