举例

面向对象的合理解释就是:我是人这个类,对象化以后我就是一个个体OLIVER

对象化就是在人这个大类中,将某个人指名道姓,具体到某个人

下面是一个具体的实例一:

#!/usr/bin/python
#-*- coding:UTF-8 -*-
class CompanyMember:
#总人数,这个类的变量
MemberCount = 29
#__ini__方法在类的对象被创建时候执行
def __init__(self,name):
self.name = name
CompanyMember.MemberCount +=1
print ("公司来了一个新成员:%s" % self.name)
print ("现有成员%d人" % CompanyMember.MemberCount)
#新建一个方法,新员工介绍
def introduce(self):
print("我的名字叫做:%s" % self.name) #领导继承公司成员类
class Leader(CompanyMember):
def __init__(self,name,salary):
CompanyMember.__init__(self,name)
self.salary = salary
self.name=name
def introduce(self):
CompanyMember.introduce(self)
print("%s是领导:我的工资是%d" % (self.name,self.salary)) #部门经理继承公司成员类
class Manager(CompanyMember):
def __init__(self,name,Location):
CompanyMember.__init__(self,name)
self.Location=Location
self.name=name
def introduce(self):
CompanyMember.introduce(self)
print("%s是%s部门的部门经理" % (self.name,self.Location))
# 创建一个新员工对象
CompanyMember1=CompanyMember("OLIVER")
CompanyMember1.introduce()
print("--------------------------")
#创建一个领导对象
Leader1=Leader("jack",360000)
Leader1.introduce()
print("--------------------------")
#创建一个部门经理对象
Manager1=Manager("john","Sales")
Manager1.introduce()

实例二:

#!/usr/bin/python
#-*- coding:UTF-8 -*- class Employee:
'所有员工的基类'
empCount=0
#定义方法
def __init__(self,name,salary):
self.name = name
self.salary = salary
Employee.empCount+=1 def displayCount(self):
print("total Employee %d" %Employee.empCount)
def displayEmployee(self):
print("Name :",self.name,",Salary:",self.salary)
"#创建 Employee 类的第一个对象"
emp1=Employee("OLIVER","") "创建 Employee的第二个对象"
emp2=Employee("QIN",'') emp1.displayEmployee()
emp2.displayEmployee() print ("Total Employee %d" % Employee.empCount)

总结

将东西根据属性归类 ( 将object归为class )

方法是一种属性,表示动作

用继承来说明父类-子类关系。子类自动具有父类的所有属性。

self代表了根据类定义而创建的对象。

建立对一个对象: 对象名 = 类名()

引用对象的属性: object.attribute

【Python】学习笔记八:面向对象的更多相关文章

  1. Python学习笔记八

    类的高级用法 多态:   在其他语言,使用的是类的继承. 在python中,不需要指定数据类型. 基于TCP协议的socket通信实现: 类似于打电话的情景. 服务端: 1.买手机 2.插卡 3.开机 ...

  2. python 学习笔记7 面向对象编程

    一.概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强..." ...

  3. python学习笔记六 面向对象相关下(基础篇)

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...

  4. python学习笔记_week6_面向对象

    面向对象 介绍(特性(class.object--->封装.继承,多态)).--->世界万物,皆可分类:世界万物,皆可对象 只要是对象,就肯定属于某种品类:只要是对象,就肯定有属性 你是上 ...

  5. Python学习笔记八:ORM框架SQLAlchemy

    一:SQLAlchemy使用 1:实体类的创建 ORM中的实体类与一般的Python类不同,在其中,使用 __tablename__=""指明该类与数据库中某个表相对应,然后定义一 ...

  6. Python学习笔记016——面向对象

    面向对象是指用类来描述一个对象(实例),用类来建立实例与实例的关联关系 对象 : object     实例 : instance 1 类 1.1 什么是类 类是用来描述对象的工具,用类可以创建一个或 ...

  7. python学习笔记(七):面向对象编程、类

    一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...

  8. python学习笔记(6)--面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.   引言 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做(人狗大战)的游戏,你就思 ...

  9. python学习笔记(10):面向对象

    一.类和实例 1.类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 2.对象:通过类定义的数据结构实例.对象包括两个数据成员( ...

  10. python学习笔记(7): 面向对象

    class Foo: #类中的函数 def bar(self): #功能阐述 print('Bar') pass def hello(self,name): print('i am %s' %name ...

随机推荐

  1. HDU5742 It's All In The Mind 数学思维题

    Problem Description Professor Zhang has a number sequence a1,a2,...,an. However, the sequence is not ...

  2. 【DFS】POJ3009-Curling 2.0

    [题目大意] 给出一张地图,一旦往一个方向前进就必须一直向前,直到一下情况发生:(1)碰到了block,则停在block前,该block消失:(2)冲出了场地外:(3)到达了终点.改变方向十次以上或者 ...

  3. [DesignPattern]Builder设计模式

    模式的定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 模式的使用场景 相同的方法,不同的执行顺序,产生不同的事件结果时: 多个部件或零件,都可以装配到一个对象中,但是 ...

  4. Java学习笔记(15)

    iterator方法 迭代器的作用:就是用于抓取集合中的元素 注:迭代器返回的一个接口类型的实现类,是一种多态的用法,而不是接口在调用方法 public class Demo2 { public st ...

  5. 获取asp.net mvc应用程序的根目录

    如果使用Server.MapPath(“controllerName”)这样取得的是带控制权名称的目录, 所以要取得上一级目标,如:Server.MapPath("../"),这才 ...

  6. Problem D: 指针:调用自定义排序函数sort,对输入的n个数进行从小到大输出。

    #include<stdio.h> int sort(int *p,int n) { int i,j,temp; ;i<n-;i++) for(j=i;j<n;j++) if( ...

  7. SecureCRT connecting VM Linux show error message: The remote system refused the connection.

    SecureCRT connecting VM Linux show error message: The remote system refused the connection.

  8. 【系统自启动】使用windows自带工具管理开机启动项

    1.windows+R,键入:msconfig 2.进入启动选项卡 3.将不用自启动的选项 取消勾选即可 点击应用,重启电脑即可

  9. VisualStudio 发布代码的一个坑

    现象:为了测试把时间改为2016-1-1,测试完成后改为实际时间.以后每次发布代码,生成的dll还是2016-1-1,而非发布时间 导致问题:生成的dll和实际代码不匹配,原因不明 解决过程: 1.修 ...

  10. 【iOS开发】canOpenURL: failed for URL

    控制台输出 如图是在我启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出. 这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是[为了强制增强数据访问安全, iO ...