Python之面向对象

面向对象

1、什么是面向对象?
2、为什么学习面向对象

面向对象这个词,出现在上世纪80年代 相对于面向过程而言
Smalltalk : 最先提出面向对象(有好多人不承认)

软件业务的扩大 世界观 功能要求也越来越复杂
C语言很难驾驭复杂的软件的开发

一种新的解决宏观来展示描述世界的编程 —> 面向对象 —> 面向对象是一种模拟

面向对象(先造世界):
面向对象是模拟人认知整个世界的行为,进行分类处理的过程

五感 —> 收集信息 —> 透过大脑 —> 分析抽象 —> 建模 —> 分门别类

3、类和对象
类: 对一类相同或相似事物的统称

	静态的特征:颜色、体重、肤色、皮毛   
	动态的行为:吃饭、学习、打架、睡觉    函数

对象(实例):就是类中的一个真实案例

	类是模板,对象就是模板拓出来的一个真实的案例

Python是脚本语言
Python是弱类型语言
Python既是面向对象,又是面向过程
Python动态语言

Java是静态语言

4、Python如何定义类 如何创建对象(重点)
面向对象编程:
在Python中定义一个类,用class关键字
Python中的类名称定义规则与其他编程语言一致
遵循的是大驼峰法:每个单词首字母大写

定义类:
        抽取静态特征

python3中默认定义的所有类继承object

class User   <==>    class  User(object):

Python中类的定义:

class 类名称(object):
	#__init__初始化
	#重写方法 __init__(魔法属性)
	#self参数,参数必须存在,不能去掉
	#习惯性写成self,代表的对象本身,类似this
	def _init_(self):
		#init 初始化函数中,定义类的静态特征
		self.属性名称 = 属性值
		self.属性名称 = 属性值
		self.属性名称 = 属性值

Python中如何获取对象:

对象名称 = 类名称( )    #初始化对象,构建对象
#可以在构建完成后修改对象的属性值
#对象的属性,应该在对象创建的时候,初始化出来
class User(object):
    
    def __init__(self):
        # init 初始化函数中,定义类的静态特征
        self.name = "yt"
        self.age = 20
        self.height = 158
        self.email = "7427@qq.com"

#构建对象
u = User()
print(u.age)
#可以修改属性
u.name = "xiaozhan"
u.email = "xiaozhan@qq.com"
print(u.name)

运行结果:

20
xiaozhan
xiaozhan@qq.com
class Cat(object):

    #对象的属性,应该在对象创建的时候,初始化出来
    def __init__(self,name,gender,color,age):
        #self.xxx 指的是类的静态属性
        self.name = name
        self.gender = gender
        self.color = color
        self.age = age
    #猫不仅仅有属性,还有动作
    def speak(self):
        #在类的方法中,可以直接访问到类的任何属性和方法!
        print("喵喵喵,我是喵星人")
        print("喵,我是{},我要吃肉".format(self.name))
        
    def eat(self,food):
        print("本喵正在吃{}".format(food))

    def __str__(self):
        #这个是默认的魔法方法
        #快速在控制台上查看对象的属性
        return "[name= "+self.name+"]"

#创建对象
qiqi = Cat("柒柒","女","黄色",2)

print(qiqi.name)
print(qiqi.age)
#调用猫的speak方法
qiqi.speak()
#调用eat方法
qiqi.eat("精品猫粮")

运行结果:

柒柒
2
喵喵喵,我是喵星人
喵,我是柒柒,我要吃肉
本喵正在吃极品猫粮
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值