python0.14-----面向对象思想/类/对象

面向对象思想:
1.把数据及对数据的操作的方法放在一起,作为一个相互依赖的整体--对象。
2.把同类对象抽象出其共性,形成类。例如:老板和员工有很多共性,可以形成一个Person类。
3.类中的大多数数据,只能用本类的方法进行处理。例如:我有100块,不可能让你来花。
4.类通过一个简单的外部接口与外界进行联系。对象之间通过消息进行通信。
5.程序流程有用户在使用中决定。

面向过程:
强调的是功能行为,解决问题需要哪些步骤。
例如:盖房子先活水泥,再砌砖.....
面向对象:
关注的是解决问题需要哪些对象。
例如:要盖房子的话,只需要找到能盖房子的人。

把大象关进冰箱的不同思路:

面向过程思想:
1打开冰箱门。
2.将大象关进冰箱。
3.关闭冰箱门。

面向对象思想:
1.找到一个能够打开冰箱的人。
2.找到能够将大象关进冰箱的人。
3.找到一个能够关闭冰箱的人。

因为生活中,很多事情我们不想干。所以想找一能够干这些事情的对象。若不存在这个对象,就创建这个对象。让它把这些事情干了,然后我们就完成了这个任务。

例如:

图纸相当于类,车相当于对象
可以对照图纸造很多颜色不一样的车。
同样,可以通过类造出不同的对象。

类的设计:
只关心3样东西:
类名:见名知意,首字母大写,其它遵循驼峰原则。
属性:见名只意,其它遵循驼峰原则。
行为(方法或功能):见名知意,其它遵循驼峰原则。
例如:老婆的类名为wife,wife的属性有:名字,年龄等等,其方法有:吃,喝等等。

创建类:

类:一种数据类型,本身并不占内存空间,跟所学过的number,string,booleann等相似。用类创建的实例化对象(变量),对象占内存空间。

格式:

class 类型(父类列表):
  属性
  行为

例子:
class Person(object): #object: #object为所有类的父类,一般没有合适的父类就写父类。
  #定义属性:
  name=""
  age=0
  height=0
  weight=0
  #定义方法(定义函数):
  #注意:方法的参数必须以self当第一个参数,self代表类的实例(某个对象)。
  def run(self):
    print(‘run‘)
  def eat(self,food)
    print(‘eat‘+food)

实例化对象:
格式: 对象名=类名(参数列表)   #若没有参数列表,也不能省略括号
例如:pr1=person()  

   pr2=person()

注意:对象在堆区,变量在栈区。pr1,pr2在栈区,它们存的是堆区的对象地址。不同的对象在堆区域的地址不同。

访问对象的属性和方法:
per=person() #实例化对象per
访问属性:
格式:对象名.属性名
赋值:对象名.属性名=新值。
per.name=‘bob‘
per.age=18
per.height=160

访问方法:
格式:对象名.方法名(参数列表)
per.run()
per.eat(‘apple‘)

#题目:设计类实现人开枪射子弹

class Person:
  def __init__(self,gun):
    self.gun=gun
  def fire(self):
    self.gun.shoot()
  def fillBullet(self):
    self.gun.bullet.BulletCount+=1
    print(‘填装了一发‘)

class Gun:
  def __init__(self,bullet):
    self.bullet=bullet
  def shoot(self):
    self.bullet.BulletCount-=1
    if self.bullet.BulletCount<=0:
      print(‘没有子弹了‘)
    else :
      print(‘还有%d发‘ %self.bullet.BulletCount)

class Bullet:
  def __init__(self,BulletCount):
    self.BulletCount=BulletCount

调用:

bullet=Bullet(5)

gun=Gun(bullet)

per=Person(gun)    

per.fire()

原文地址:https://www.cnblogs.com/yulianggo/p/9217440.html

时间: 2024-11-01 18:36:44

python0.14-----面向对象思想/类/对象的相关文章

python开发面向对象思想--类关联

为了关联各个属性.使用了uuid 工号属性.每个对象都有唯一的属性.另外为了保证对象唯一.我给每个对象的属性都做了hash生成了唯一的属性.hash过程中发现不能hash对象.hash只能hash不可变对象.其次取出对象使用了类静态方法,这样可以一次取出所有的对象,然后用户选择的时候再把uuid存储到对应的关联属性中.如果要查询uuid对应的对象是谁可以通过uuid去打开对应的文件.然后既可以获取到对应的对象了.遮样所有的对象都可以关联起来了. #!/usr/bin/env python#-*-

黑 马 程 序 员_视频学习总结&lt;Objective-C&gt;----01 面向对象思想、类和对象、面向对象方法

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.面向对象 1. 面向对象和面向过程思想区别 OC为面向对象.C为面向过程.实质是解决问题的两种不同的思想.面向过程关注的是步骤,面向对象关注的是解决问题需要的对象. 2. 常用术语 面向过程:Procedure Oriented面向对象:Object Oriented 简称OO面向对象编程:Object OrientedProgrammin

C#面向对象基础--类与对象

1.类与对象 类是面向对象编程的基本单元:类造出来的变量叫对象. 一个类包含俩种成员:字段与方法. 字段即变量,方法即函数. 面向对象思想:教给我们如何合理的运用类的规则去编写代码. 2.类的字段 字段代表了类中的数据.在变量之前可以加上public.private和protected表示字段的访问权限. 3.类的方法 (1).函数的概念 表达式: 返回值类型  方法名(参数列表) { 语句1: 语句2: ..... return 表达式: } 函数需要向外界返回一个值,由return语句实现.

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】

  本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ 本文版权归作者和博客园共有,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ,否则保留追究法律责任的权利. 面向对象概念 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 •强调的是功能行为 面向对象 •将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向过程   在一个结构体中定义窗口的大小

实体类作用、封装与面向对象思想

实体类体现了面向对象的原则,将一切数据封装成对象,一切都是对象. 函数的请求参量.存贮领域模型的对象.页面展示的数据等等. 实体类就是一个载体,是一个数据结构,实现了对数据的封装. 实体类的存在便利了数据的传输.处理.展示.存贮. 在传输过程中,最主要的作用就是简化接口,保证接口稳定性. http://blog.csdn.net/yangyuankp/article/details/7880943 一.为什么要用实体类? |  使程序简洁易懂,便于维护. |  暗合接口不变原则. |  体现面向

6.17 面向对象思想及类的提纲

C#复习: 题: 添加5个学生的信息到集合中, 每个学生都有:学号,姓名,成绩,3个内容, 添加完毕后将学生的分数从高到低排列并打印出来 面向对象思想: 万物皆对象 面向对象三大特性: 封装:封装相当于约束保护,明星都是有经济人的,要想见到明星必须先经过经纪人的审查. 继承:对象是分级排列的,下一级可以继承上一急的属性,但是上一级可以选择拒绝下一级的继承. 多态:上一级的同一个属性,不同的下一级用法 不同,例如白玫瑰,可以送给爱人,也可以送到医院看望病人. 类Class: -----------

黑马程序员----java基础----面向对象思想和类的概述

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 面向对象(掌握) (1)面向对象 面向对象是基于面向过程的编程思想. 面向对象和面向过程的区别:面向过程强调的是每一个功能的具体步骤.面向对象强调的是对象,然后由对象去调用功能. (2)面向对象的思想特点 A:是一种更符合我们思考习惯的思想 B:把复杂的事情简单化 C:让我们从执行者变成了指挥者 举例: 买电脑 面向过程:了解电脑---了解自己的需求---对比电脑参数---去中关村买电脑--买

【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法

. 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定义 (1) 接口部分定义格式 接口部分定义格式 : @interface className : superClassName { type _variableName; ... ... } - (type) methodName : type parameterName; @end -- 接口定义