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
91
92
93
94
|
之前对面向对象编程一直不是很理解,今天仔细分析了下,我的理解如下:
在python开来,所有东西都是分类的,
比如,人,动物,植物都是属于某一类,这就叫,类:
class
然后到了类里面的某一个,
比如人,分为白人,黑人,黄种人,这就叫,对象:objeck
这些对象组成了人这一类
白人,白皮肤,蓝眼睛,金色头发,这就叫这个对象的,属性:
property
这些属性组成了这个对象
我们查看属性的方式,就叫做方法
看下下面的例子:
[root@hxy python]
# cat human.py
#!/usr/bin/python
# -*- coding: utf8 -*-
#*************************************************************************
# File Name: human.py
# Author: huxianyong
# Mail: hxy123@163.com
# Created Time: 2017年09月05日 星期二 16时45分50秒
#************************************************************************
#人class
class
human:
def
__init__(
self
, race, hair, eyes, colour):
self
.race
=
race
self
.hair
=
hair
self
.eyes
=
eyes
self
.colour
=
colour
def
people(
self
):
print
"%s,%s,%s,%s"
%
(
self
.race,
self
.hair,
self
.eyes,
self
.colour)
man1
=
human(
'白人'
,
'金发'
,
'蓝眼'
,
'白皮肤'
)
man1.people()
man2
=
human(
'黑人'
,
'黑发'
,
'黑眼'
,
'黑皮肤'
)
man2.people()
man3
=
human(
'黄人'
,
'黑发'
,
'黑眼'
,
'黄皮肤'
)
man3.people()
[root@hxy python]
# python human.py
白人,金发,蓝眼,白皮肤
黑人,黑发,黑眼,黑皮肤
黄人,黑发,黑眼,黄皮肤
我们只需要调用man1
=
human(
'白人'
,
'金发'
,
'蓝眼'
,
'白皮肤'
)
给对象加上属性,就可以得出一些结果,这就叫封装,其实就是使用构造方法将内容封装到对象中.
以下面例子作解释,
类为test
对象为hxy Forand
属性为 name,age,sex
#!/usr/bin/python
# -*- coding: utf8 -*-
#*************************************************************************
# File Name: eg.py
# Author: huxianyong
# Mail: hxy123@163.com
# Created Time: 2017年09月05日 星期二 15时41分02秒
#************************************************************************
class
test:
def
__init__(
self
, name, age, sex):
self
.name
=
name
self
.age
=
age
self
.sex
=
sex
def
action(
self
):
print
self
.name,
self
.age,
"岁"
,
self
.sex,
"回家去吃饭"
print
self
.name,
self
.age,
"岁"
,
self
.sex,
"开车去北京"
print
self
.name,
self
.age,
"岁"
,
self
.sex,
"最爱大保健"
print
"%s,%s岁,%s,回家去结婚!"
%
(
self
.name,
self
.age,
self
.sex)
print
"%s,%s岁,%s,开车去东北!"
%
(
self
.name,
self
.age,
self
.sex)
print
"%s,%s岁,%s,最爱大保健!"
%
(
self
.name,
self
.age,
self
.sex)
obj
=
test(
'hxy'
,
18
,
'man'
)
obj.action()
obj1
=
test(
'Forand'
,
17
,
'man'
)
obj1.action()
[root@hxy python]
# python eg.py
hxy
18
岁 man 回家去吃饭
hxy
18
岁 man 开车去北京
hxy
18
岁 man 最爱大保健
hxy,
18
岁,man,回家去结婚!
hxy,
18
岁,man,开车去东北!
hxy,
18
岁,man,最爱大保健!
Forand
17
岁 man 回家去吃饭
Forand
17
岁 man 开车去北京
Forand
17
岁 man 最爱大保健
Forand,
17
岁,man,回家去结婚!
Forand,
17
岁,man,开车去东北!
Forand,
17
岁,man,最爱大保健!
|
这些都是我自己的理解,有错误的地方希望大神们帮忙支出,谢谢了!
本文转自 Forande 51CTO博客,原文链接:http://blog.51cto.com/853056088/1962899