函数__面向对象

一.面向对象。

二、类.

一.面向对象。

 1)面向对象的核心是以对象为中心.

优点:可扩展性强

缺点:编程的复杂程度高于面向过程

2)面向过程的核心是一切以事务的流程为核心

 优点:  负责的问题流程化, 编写相对简单

 缺点:  可扩展性差

面向对象和面向过程的对比:
        如果写一些比较小的程序用面向过程.
        程序很复杂. 很庞大建议用面向对象.

类与对象的关系:类是对事物的总结,抽象的概念. 类用来描述对象. 对象是类的实例化的结果. 对象能执行哪些方法.

都由类来决定. 类中定义了什么. 对象就拥有什么 .

如果是写个简单的程序,直接用面向过程会更简便些,如果是复杂的程序,使用面向对象来写代码会更容易些,而且代码更加清晰.

3)面向对象的三大特征:

 面向对象三大特征: 封装, 继承, 多态. 只要是面向对象编程语言. 都有这三个特征. 

 封装:

  1. 对属性的封装(__init__())
   self.xxx = xxx
  2. 对方法和功能的封装

把很多数据封装到一个对象中.把固定功能的代码封装到一个代码块,函数,对象,打包成模块.
这都属于封装的思想. 具体的情况具体分析.比如,你写了了一个很牛B的函数.
那这个也可以被称为封装.在面向对象思想中. 是把一些看似⽆无关紧要的内容 组合到一起统一进行存储和使用. 这就是封装.

 继承:

子类可以自动拥有父类中除了私有属性外的其他所有内容.说白了,儿子可以随便用爹的东西.但是,一定要认清楚一个事情. 
必须先有爹, 后有儿子.顺序不能乱.在python中,一个类可以同时继承多个父类,如果有两个父类有重复的,
优先取离自己近的,就是第一个父类 语法: 在类名后面添加一个小括号, 就可以完成继承关系.

 多态:

同一个对象, 多种形态. 
程序具有超高的可扩展性.面向对象思想的核心与灵魂. 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事物的归类.

__init__(self, 参数)  参数一般作为属性设置给对象. 对象就是self, 对属性的封装.

 def 方法(self, 参数): 方法. 第一个参数一般是固定的self. 当前类的对象.
       pass

对象是xx类型的一个具体

2)创建类:

class 类名:
            def __init__(self,属性,属性,属性): # 初始化方法. 又被成为构造方法
                self.属性 = 值
                self.属性 = 值
                self.属性 =def fangfa(self):
                方法体(实质就是函数体,也可以有return)

3)创建对象:

变量 = 类名() # 实例化 <-> 创建对象

变量.属性 # 访问对象的属性信息
变量.方法() # 访问类中的方法

猜你喜欢

转载自www.cnblogs.com/lgw1171435560/p/10130778.html
今日推荐