码迷,mamicode.com
首页 > 其他好文 > 详细

7.1 面向对象编程

时间:2018-02-04 15:41:30      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:调用   相同   产生   gpo   面向   方法   模板   pre   def   

1 对象与类

 1 #第一部分:对象与类
 2 #类是对象的抽象,是对象的模板
 3 
 4 #定义一个Person类
 5 class Person:
 6     pass
 7 
 8 #创建Person类的一个实例
 9 p1 = Person()
10 
11 #Person中没有定义类的特征和行为,可以在实例上定义实例的特征和行为
12 #但更倾向于把类的特征和行为定义在类中,默认情况下类中的特诊都是公开的
13 
14 #完善Person类,重新定义一个MyPerson类
15 class MyPerson():
16     name = ‘‘
17     age = 0
18     gender = ‘‘
19 
20 #然后定义两个该类的实例
21 mp1 = MyPerson()
22 mp2 = MyPerson()
23 
24 #修改实例mp1的年龄
25 mp1.age = 20
26 print(mp1.age)  #20
27 print(mp2.age)  #0
28 
29 #可见修改一个对象的实例属性值,被不会影响该类的其他对象的实例相同属性的值

 

2 类的构造函数和类成员初始化

 1 #第二部分:类的构造函数和类成员初始化
 2 #在Python中,class_name() 就是构造函数,及类名后边加括号,作用是为类成员赋初始值
 3 #可以用这种方法将类的成员和类实例的成员区分开
 4 #定义一个Person类
 5 class Person():
 6     def __init__(self,age=0,gender=‘‘,name=‘‘):  #使用到了默认参数
 7         self.name = name
 8         self.age = age
 9         self.gender = gender
10 
11     #__init__()函数在创建Person类的实例调用
12     #self表示具体的对象
13 
14 #创建一个实例
15 p = Person(name = Mark,age = 20,gender = )
16 #创建实例的过程就是先调用__init__()函数,给类属性赋初始值
17 print(p.age)   #20
18 
19 #还可以再类属性的基础上,添加实例属性
20 p.weight = 60  #体重
21 print(p对象的实例属性:{}.format(p.weight))
22 
23 #p.weight跟Person类的其他实例无关,是p实例自己的。

 

3 实例方法

 1 #第三部分:实例方法
 2 class Person:
 3     def __init__(self,name=‘‘,age=0,gender=‘‘):
 4         self.name = name
 5         self.age = age
 6         self.gender = gender
 7 
 8     def say(self):
 9         print({} 说:hello.format(self.name))
10 
11     #say()函数是类的函数,该类的所有实例都会有这个方法
12 
13 #创建两个该类的实例
14 p1 = Person(zhangsan,20,)
15 p2 = Person(lisi,20,)
16 
17 p1.say()  #zhangsan 说:hello
18 p2.say()  #lisi 说:hello
19 
20 #self代表的是在内存中产生的实例
21 #对于实例p1来说,self代表的就是p1
22 #所以定义在类中的带self的方法都是实例方法

7.1 面向对象编程

标签:调用   相同   产生   gpo   面向   方法   模板   pre   def   

原文地址:https://www.cnblogs.com/avention/p/8412997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!