python高级----面向对象编程(1)

前提了解类和对象:
1.区分类和对象:
对象:%1.万事万物皆对象,包括看得见,摸得着的实实在在存在的东西(比如我们面前存在的电脑)
%2.看不见但是存在的(比如会议,上班)

类:对象中公共的属性和方法的集合。
类就是模子,模板,看不见,摸不着,虚拟的
关系:一个类包含多个对象,一个对象属于一个类**

#类名遵循大驼峰定理,即每一个单词的首字母要大写

案例一:创建一个类,对属性和方法有一个大致的了解

class Dog(object):#创建狗类,继承自object类
    # 属性,可以简单理解为某一事物的特征,在这里是狗的特征
    name=''
    color=''
    # 方法:可以执行的操作,在这里可以理解为狗能做的事情
    def  eat(self):#这里继承的self是因为在狗这一个大类里面,每一条狗都有这个操作,即他自己本身就会的
        print('啃骨头')
        #简单理解为self是调用他自己的方法
    def   speak(self):
        print('狗在叫')


# 调用函数,实例化一个对象
a=Dog()
#赋予a这个对象属性特征
a.name='富贵'
a.color='黄色'
调用a这个对象的方法
a.eat()
a.speak()
print('名字是:', a.name,'颜色是:',a.color)

在这里插入图片描述

案例二:对象可以重复调用类中的方法,还可以修改对象的属性值

class  Person(object):
	#属性
	name=''
	age=''
	#方法
def  sleep(self):
    print('呼呼大睡')
def   study(self):
    print('学习python')

#创建一个实例化对象
mz=Person()
#给属性赋值
mz.name='樱子'
mz.age='20'
#调用方法
mz.sleep()
mz.study()
#修改对象属性的值
mz.name='苗子'
mz.color='杏色'
print('姓名:',mz.name,'肤色:',mz.color)#返回的结果是你最后一次修改的属性值

在这里插入图片描述

案例三:构造函数的应用(属性赋值,一次可以给多个属性进行赋值

class Student(object):
   # 属性私有化,一次可以给多个属性赋值
   def  __init__(self,xm,nl,nj,ah):#**传入属性参数**。不要问我为什么这样定义,其实是他们的拼音的首写而已。。。。
       self.name=xm
       self.age=nl
       self.grade=nj
       self.hobby=ah
   def    show(self):
       print('姓名:',self.name,'年龄是:',self.age,'年级是;',self.grade,'爱好是:',self.hobby)

mz=Student('苗子',20,'1807C2','写作')
mz.show()

在这里插入图片描述

小疑惑:为什么这个类要继承自object?继承自其他的不行吗?
在这里插入图片描述

解答:在python2.x中不继承object的叫做经典类或者旧式类,继承object的叫做新式类,但是现在的程序员用的python版本一般都是python3.x,而python3.x版本中的类默认都是继承object类的。所以这里可以写也可以不写。但对于新手来说的话,写上最好。继承了object类可以使用很多的内置函数
在pycharm中可以找到object 然后ctrl+B查找源代码。
在这里插入图片描述

如果你前面有定义的父类,该类作为一个子类是可以继承其父类的,所以说这里的object是可以替换的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值