您的位置:首页 > 编程语言 > Python开发

python自我学习1--class 面向对象变成

2017-09-05 17:46 537 查看
之前对面向对象编程一直不是很理解,今天仔细分析了下,我的理解如下:
在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,最爱大保健!
这些都是我自己的理解,有错误的地方希望大神们帮忙支出,谢谢了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息