函数__面向对象
一.面向对象。
1)面向对象的核心是以对象为中心.(抽象化,)
2)面向过程的核心是一切以事务的流程为核心
什么是对象:
看到的,摸到的,用到的,接触到的...什么都是对象.
类与对象的关系:类是对事物的总结,抽象的概念. 类用来描述对象. 对象是类的实例化的结果. 对象能执行哪些方法.
都由类来决定. 类中定义了什么. 对象就拥有什么 .
3)面向对象的三大特征:
面向对象三大特征: 封装, 继承, 多态. 只要是面向对象编程语言. 都有这三个特征.
封装:
1. 对属性的封装(__init__())
self.xxx = xxx
2. 对方法和功能的封装
具体的情况具体分析.比如,你写了了一个很牛B的函数.
那这个也可以被称为封装.在面向对象思想中. 是把一些看似无关紧要的内容 组合到一起统一进行存储和使用. 这就是封装.
继承:
子类可以自动拥有父类中除了私有属性外的其他所有内容.说白了,儿子可以随便用爹的东西.但是,一定要认清楚一个事情.
必须先有爹, 后有儿子.顺序不能乱.在python中,一个类可以同时继承多个父类,如果有两个父类有重复的,
优先取离自己近的,就是第一个父类
语法:
在类名后面添加一个小括号, 就可以完成继承关系.
多态:
同一个对象, 多种形态.
上代码!
class Car: # 类名首字母大写, 严格遵守驼峰命名规范
# __init__方法是一个特殊的方法. 初始化方法. (构造方法)
# 在创建对象的时候会自动的调用__init__()
# 对象就是self, 对属性的封装
def __init__(self, color, pai, pailiang): # init初始化方法. 在创建对象的时候. 默认执行这个函数
self.color = color #如果在这里直接写成红色,那么所有的车,都会是红色.不指定的话就是,对象填啥色就是啥色.
self.pai = pai
self.pailiang = pailiang
def pao(self): # self是自动传递的. 不用管它
print("%s我的车能跑" % self.color) # self.color
def jump(self): #在类中写的函数,叫方法
print("you jump, I jump")
c = Car("红色", "京A88888","555L") # 创建Car类型对象. 此时self参数不需要我们管
c2 = Car('蓝色', "京B66666", "1.6T")
print(c.color)
print(c2.color)
c.pao() # 车c跑
c2.pao()
二、类.
1)类与对象的关系:类是对xxx事物的归类.对象是x类型的一个具体
2)创建类:
class 类名: def __init__(self,属性,属性,属性): # 初始化方法. 又被成为构造方法 self.属性 = 值 self.属性 = 值 self.属性 = 值 def fangfa(self): 方法体(实质就是函数体,也可以有return)
3)创建对象:
变量 = 类名() # 实例化 <-> 创建对象 变量.属性 # 访问对象的属性信息 变量.方法() # 访问类中的方法
到底什么是面向对象?
''' 面向对象: 1. 先写类. 属性,功能 -> 对需求了如指掌 2. 对象就是一坨内存地址. 相当于打开文件的句柄 '''