python——面向对象(上)

1.面向对象的思想

面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路

是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑。


例如:菜鸟买电脑

(1)自己买
              在网上查找资料

              根据自己预算和需求定电脑的型号 MacBook 15 顶配 1W8

             去市场找到苹果店各种店无法甄别真假 随便找了一家

            找到业务员,业务员推荐了另外一款 配置更高价格便宜,也是苹果 系统的 1W 砍价30分钟 付款9999 成交 回去之后发现

各种问题
(2)找大牛
              找一个靠谱的电脑高手     给钱交易

同样的问题,不一样的解决思路,面向过程和面向对象都是解决问题的思路。

(1)买电脑的第一种方式:

            强调的是步骤、过程、每一步都是自己亲自去实现的

            这种解决问题的思路我们就叫做面向过程

(2)买电脑的第二种方式:

           强调的是电脑高手, 电脑高手是处理这件事的主角

          对我们而言,我们并不必亲自实现整个步骤

          只需要调用电脑高手就可以解决问题  

         这种解决问题的思路就 是面向对象

面向过程:根据业务逻辑从上到下写代码。程序员是执行者

面向对象:将数据与函数绑定到一起,进行封装,对外界提供调用。程序员是指挥者
 
 面向对象的思维解决问题的重点

 1)当遇到一个需求的时候不用自己去实现,如果自己一步步实现那就是面向过程

 2)应该找一个专门做这个事的人来做

 3)面向对象是基于面向过程的


2.类与对象 

面向对象编程的两个非常重要的概念:类和对象

对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对

象抽取定义,提出了另外一个新的概念——

类:
      人以类聚 物以群分。

      具有相似内部状态和运动规律的实体的集合(或统称、抽象)。

      具有相同属性和行为事物的统称
 

类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在,

这 个存在就是对象,一个类可以找到多个对象。

对象:
      某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。

     可以是直接使用的

 类与对象之间的关系:

  类就是创建对象的模板

类的组成

主要考虑三个方面
        类的名称:类名

       类的属性:一组数据

      类的方法:允许操作的方法(行为)

比如:人类
        事物名称(类名):人(Person)

        属性:身高(height)、年龄(age)

       方法(行为/功能):跑(run)、打架(fight)

类的抽取:

     如何把日常生活中的事物抽象成程序中的类?

    拥有相同(或者类似)属性和行为的对象都可以抽像出一个类

    一般名词都是类(名词提炼法)


3.定义类

定义一个类,格式如下: 

 class 类名:

      方法列表 

例如:定义一个车类 

  # 定义类

  class Car:

  # 方法

  def move(self):

      print('车在奔跑...')

  # 鸣笛

 def toot(self):

     print("车在鸣笛...嘟嘟..")
 


 4.创建对象 

   python中,可以根据已经定义的类去创建出一个个对象

   创建对象的格式为: 

   对象名 = 类名() 

5.__init__()函数 

通过__init()__函数为对象初始化属性值 

对对象的属性进行赋值的行为称之为针对性初始化。

          __init__(self)方法,在创建一个对象时默认被调用,不需要手动调用

         __init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参, 那么__init__(self)中出了self作为一个形参外还需要

         2个形参,例如__init__(self,x,y)

        __init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对 象引用传递进去


 6.__str()__函数 

    当我们通过print()函数将对象进行打印时,打印的是该对象的类型和地址。

    如果想打印对象时,出来的是对象的一些属性值,怎么办呢? 

def __str__(self):

    msg = "嘿。。。我的颜色是" + self.color + "我有" + int(self.wheelNum) + "个 轮胎..."

return msg 

     当使用print输出对象的时候,只要自己定义了__str__(self)方法,

     那么就会打印从在这个 方法中return的数据


7.self关键字

    所谓的self,可以理解为自己 可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思 某个对象调用其方法时,python解

   释器会把这个对象作为第一个参数传递给self,所以开发 者只需要传递后面的参数即可
 

   


 


 

猜你喜欢

转载自blog.csdn.net/y805805/article/details/84553327