举例

面向对象的合理解释就是:我是人这个类,对象化以后我就是一个个体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. angularjs学习笔记3-directive中scope的绑定修饰符

    在angularjs中,一个directive返回一个对象,对象存在很多属性,并且可以在directive中自定义自己的scope,而使用自己的scope是为了防止一个directive被使用在多个地 ...

  2. 【BZOJ 4572】【SCOI 2016】围棋

    http://www.lydsy.com/JudgeOnline/problem.php?id=4572 轮廓线DP:设\(f(i,j,S,x,y)\). \(S\)表示\((i,1)\)到\((i, ...

  3. HDU 4388 Stone Game II 博弈论 找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=4388 http://blog.csdn.net/y1196645376/article/details/5214 ...

  4. [SRM686]CyclesNumber

    题意:求$n$个数的所有排列形成的轮换个数的$m$次方之和 我以前只知道这是GDKOI的题,今天在ckw博客上发现它是TC题...原题真是哪里都有... 就是求$\sum\limits_{i=1}^n ...

  5. 升级到XCode6后,iOS8里设置tableview的setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法

    我们在使用tableview时会发现分割线的左边会短一些,通常可以使用 setSeparatorInset:UIEdgeInsetsZero 来解决.但是升级到XCode6之后,在iOS8里发现没有效 ...

  6. JavaScript之引用类型(Object类型)

    ECMAScript提供了很多原生的引用类型,以便开发人员进行常见的计算任务. 对象是某一个特定引用类型的的实例. Object类型 用的最多.虽然这个Object实例不具备多少功能,但是在应用程序的 ...

  7. [转]Windows7下如何在MyEclipse更改JSP默认编码

    分步阅读 一般情况下,用MyEclipse创建Web项目,在WebRoot目录下新建JSP页面,页面的编码格式是:ISO-8859-1,而这个编码格式不 可以解决多种语言文本显示问题,特别是中文,容易 ...

  8. Hiho----拓扑排序

    拓扑排序·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来. 小Ho:小Hi,你这学期有选什么课么? 小H ...

  9. quartz做集群配置较短的时间间隔会重复执行任务的问题

    quartz.properties org.quartz.jobStore.misfireThreshold = 60000 这个参数(单位为毫秒)设置了以后就是超时1min的就不执行,小于1min会 ...

  10. Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决

        Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决 [oracle@rac01 ~]$ sqlplus /nolog S ...