站长资讯网
最全最丰富的资讯网站

Python之面向对象解析

一、面向对象的概念

面向对象oop(onject oriented programming),与之对应的还有面向过程,向C语言就是面向过程的

理解过程和函数?

过程:是早期的一个编程概念,过程类似于函数,只能执行,但是没有返回值

函数:不仅能执行,还可以返回结果(return)

二、深刻理解什么时面向对象和面向过程

面向过程:—-侧重于怎么做?

把完成某个需求的所有步骤从头到尾逐步实现 根据开发要求,将某些功能独立的代码封装成一个又一个函数 最后完成的代码,就会死顺序的调用不同的函数

特点:

注重步骤与过程,不注重职责分工 如果需求复杂,代码会变得很复杂 开发复杂项目,没有固定的套路,开发难度很大

面向对象:—侧重于谁来做?

相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法

在完成某个需求之前,首先确定职责—要做的事情(方法) 根据职责确定不同的对象,在对象内部封装不同的方法(或是多个方法) 最后完成代码,就是顺序的让不同对象调用不同的方法

特点:

注重对象和职责,不同的对象承担不同的职责 更加适合复杂的需求变化,是专门应对复杂项目的开发提供的固定套路 需要在面向过程的基础上,再学习一些面向对象的语法

面向对象编程有Python 、JAVA 、C++

三、类与对象

在程序开发中,先有类,再有对象

类:是对一群具有相同特征或行为的事物的一个统称,不能直接使用(比如:在飞机制造前先设计的哪个图纸,图纸就是一个类,可以用着一个图纸制作出好多飞机,但是,图纸是不能飞上天的)特征被称为属性,行为被称为方法

对象:有类创建出来的一个具体存在的,可以直接使用的(飞机可以飞上天)

类的设计:

在使用面相对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类!

Python之面向对象解析

1.类名:这类事物的名字i,满足大驼峰命名法

大驼峰命名法:每个单词的首字母大写,单词与单词之间没有下划线

2.属性:这个类创建出来的对象有什么样的特征

2方法:这个类创建出来的对象有什么样的行为

四、实例

案例【1】:

  小明今年18岁,身高1.75,每天早上要跑步,会去吃东西  小美今年17岁,身高1.65 小美不跑步,小美喜欢吃东西
      Person()    #类名      name        #属性      age      height      run()       #方法      eat()  

案例【2】:

  一只黄颜色的狗狗叫大黄  看见生人旺旺叫  看见家人摇尾巴
      Dog()       #类名      name        #属性      color      shout()     #方法      shark()  

五、定义之包含方法的类

  class 类名:      def 方法1(self):          pass      def 方法2(self):          pass

创建对象:对象变量=类名

%x:打印格式为十六进制数

%d:打印格式为十进制数

实例:需求:小猪爱吃饭,小猪爱睡觉

  class pig:      def eat(self):          print '小猪爱吃饭'      def sleep(self):          print '小猪爱睡觉'  Pig = pig()  Pig.eat()  Pig.sleep()  addr= id(Pig)  print addr  print '%x' %addr  print '%d'%addr

Python之面向对象解析

六、用相同的类可以创建不同的对象

案例【1】

  class pig:      def eat(self):          print '小猪爱吃饭'      def sleep(self):          print '小猪爱睡觉'  Pig = pig()  Pig.eat()  Pig.sleep()  addr= id(Pig)  print addr  print '%x' %addr  print '%d'%addr  #用相同的类可以创建不同的对象  lazy_pig=Pig  lazy_pig.eat()  lazy_pig.sleep()  print lazy_pig  lazy_pig2=lazy_pig  print lazy_pig2

Python之面向对象解析

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号