博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初识python 面向对象
阅读量:5154 次
发布时间:2019-06-13

本文共 2178 字,大约阅读时间需要 7 分钟。

what the f**k!!这个知识点学不好的最大元凶就是,我还单身???


 

 

python基础(四):

面向对象的三个特点: 封装,继承,多态

类:

 

对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类

类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象

类(Class) 由3个部分构成

  • 类的名称:类名
  • 类的属性:一组数据
  • 类的方法:允许对进行操作的方法 (行为)

创建一个类:

class Car(object):# 类命名规则按照大驼峰命名法.首字母大写    # 方法    def getCarInfo(self):        print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))
补充: 有些代码的类可能没有继承object,这个问题在Python 3之后就不复存在了,因为Python3中所有的类都是新式类,由于涉及到深度和广度问题,有兴趣的朋友自己看看吧 #新式类是指继承object的类class A(object):      ........... #经典类是指没有继承object的类class A:     ...........

 类方法:

在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例

# 定义类class Car:    #定义方法    # 移动    def move(self):        print('车在奔跑...')    # 鸣笛    def toot(self):        print("车在鸣笛...嘟嘟..")

 

__init__()方法:#init前后符号是两条下划线 _ _ 不要搞错.

能够在创建对象的时候,就顺便把这个对象的属性给设置

# 定义汽车类class Car:    def __init__(self):        self.wheelNum = 4        self.color = '蓝色' #效果等同于上文的 BMW.color = '黑色', 只不过上文的是添加属性,这里的是在类里面就把属性写好了    def move(self):        print('车在跑,目标:夏威夷')# 创建对象BMW = Car() print('车的颜色为:%s'%BMW.color) print('车轮胎数量为:%d'%BMW.wheelNum)
  • __init__()方法,在创建一个对象时默认被调用,不需要手动调用
  • __init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
  • __init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去

 

类对象:

  类对象支持两种操作:属性引用和实例化

# 定义类 class Car:    # 移动    def move(self):        print('车在奔跑...')    # 鸣笛    def toot(self):        print("车在鸣笛...嘟嘟..")# 创建一个对象,并用变量BMW来保存它的引用BMW = Car()BMW.color = '黑色' #给对象添加属性BMW.wheelNum = 4 #轮子数量 给对象添加属性BMW.move() # 调用对象的move方法BMW.toot() # 调用对象的toot方法print(BMW.color)print(BMW.wheelNum) --->

车在奔跑...

车在鸣笛...嘟嘟..
黑色
4

  • BMW = Car(),这样就产生了一个Car的实例对象,此时也可以通过实例对象BMW来访问属性或者方法
  • 第一次使用BMW.color = '黑色'表示给BMW这个对象添加属性,如果后面再次出现BMW.color = xxx表示对属性进行修改
  • BMW是一个对象,它拥有属性(数据)和方法(函数)
  • 当创建一个对象时,就是用一个模子,来制造一个实物 

类的继承:

子类获得了父类的全部功能

1 # 定义类 2 class Car: 3     # 移动 4     def move(self): 5         print('车在奔跑...') 6  7     # 鸣笛 8     def toot(self): 9         print("车在鸣笛...嘟嘟..")10 11 class BMW(Car):12     def stop(self):13         print('stop')14 15 X5 = BMW()16 Audi = Car()17 18 X5.move()19 Audi.move() --->

车在奔跑...

车在奔跑...

 

转载于:https://www.cnblogs.com/pantom0122/p/9411450.html

你可能感兴趣的文章
echarts使用
查看>>
SQL2005触发器和存储过程
查看>>
poj 2186 Popular Cows 有向图强连通分量 tarjan
查看>>
hdu 2545 并查集
查看>>
[BZOJ4568][SCOI2016]幸运数字(倍增LCA,点分治+线性基)
查看>>
尤金·卡巴斯基:卡巴斯基实验室调查内网遭黑客攻击事件
查看>>
android之Handler Runnable实现倒计时
查看>>
putty修改编码
查看>>
安全版字符串操作函数
查看>>
数据库msqlserver的几种类型及解决MSSQLServer服务启动不了的问题
查看>>
CSS轮廓 边距 填充 分组和嵌套
查看>>
JAVA多线程--线程阻塞与唤醒
查看>>
JavaSE语法基础总结
查看>>
python自动化测试之mysql5.0版本数据库查询数据时出现乱码问题分析
查看>>
线性表9 - 数据结构和算法14
查看>>
OD使用教程21(上) - 调试篇21
查看>>
循环移位
查看>>
函数的两种调用方式
查看>>
Spring mvc4 + ActiveMQ 整合
查看>>
Python基础(8)素数输出
查看>>