python 面向对象(三大特性)
python 面向对象(初级)
(思维导图 ↑↑↑↑↑)
概述:
面向过程:根据业务逻辑从上到下垒代码.
函数式:将某功能代码封装至函数中,日后便无需重复编写,仅调用函数即可
面向对象:对函数进行分类和封装,让开发"更快更好更强..."
创建类和对象:
面向对象编程是一种编程方式,此编程方式的落地需要使用"类"和"对象"来实现,所以,面向对象编程其实就是对"类"和"对象"的使用.
class Foo:
# 创建类中的函数
def Bar(self):
print('bar')
def Hello(self,name):
print('我叫%s'% name)
# 根据类Foo创建对象obj
obj = Foo()
obj.Bar() # 执行Bar方法
obj.Hello('裴杰') # 执行Hello方法
面向对象三大特性:
一.封装
封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容.所以,在使用面向对象的封装特性时,需要:
-将内容封装到某处
-从某处调用被封装的内容
# 创建类
class Foo:
def __init__(self,name,age): # 构造方法,根据类的创建对象时自动执行.
self.name = name
self.age = age def func(self):
print('姓名:%s,年龄:%s' % (self.name,self.age)) # 根据Foo创建对象
# 自动执行Foo类的 __init__ 方法
obj1 = Foo('裴杰',80)
obj2 = Foo('张博文',18)
obj1.func()
obj2.func()
二.继承
继承,面向对象中的继承和实现生活中的相同,即:子可以继承父的内容.
例如:
class Animal:
def eat(self):
print('%s 吃 ' % self.name) def drink(self):
print('%s 喝 ' % self.name) def shit(self):
print('%s 拉 ' % self.name) def pee(self):
print('%s 撒 ' % self.name) class Cat(Animal):
def __init__(self,name):
self.name = name
self.breed = '猫' def cry(self):
print('喵喵叫') class Dog(Animal):
def __init__(self,name):
self.name = name
self.breed = '狗' def cry(self):
print('汪汪叫') ######## 执行 #########
c1 = Cat('裴杰家的小黑猫')
c1.eat() c2 = Cat('裴杰家的小白猫')
c2.drink() d1 = Dog('李承家的小傻裴')
d1.eat()
三.多态
python崇尚"鸭子类型"
class F1:
pass class S1(F1):
def show(self):
print('S1.show') class S2(F1):
def show(self):
print('S2.show') def Func(obj):
print(obj.show()) s1_obj = S1()
Func(s1_obj) s2_obj = S2()
Func(s2_obj)
python 面向对象(三大特性)的更多相关文章
- python 面向对象三大特性(封装 多态 继承)
今天我们来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)注:Java和C#来说只支持面向对象编程,而python比较灵活即支持面 ...
- python面向对象三大特性
面向对象的三大特性: 封装.继承和多态 一.封装 封装,顾名思义就是将内容封装到某个地方,以后可以直接调用被封装到某处的内容. - 将内容封装到某处 - 从某处调用被封装的内容 第一步,将内容封装到某 ...
- python面向对象-三大特性
python面向对象编程三大特性 小结:前面我们说完了类和对象的关系,相信对类和对象的理解更加透彻..让我们一起去研究面向对象的三大特性吧.... 继承 1.什么继承? 在程序中继承就是事物之间的所属 ...
- python -- 面向对象三大特性
1,继承 1,初识继承 什么是继承? ——继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. 子类会“遗传”父类的属性,从而 ...
- Python()- 面向对象三大特性----继承
继承: 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类(基类或超类),新建的类是所继承的类的(派生类或子类) 人类和狗 有相同的属性, 提取了一个__init__方法,在这 ...
- python面向对象三大特性之一封装
一.什么是封装 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其 含义是其他程序无法调用. 要了解封装,离不开“私有化”,就是将类或者 ...
- python面向对象三大特性之继承
继承是创建新类的方法,以下是几个概念 父类,基类,超类: 被继承的类 子类,派生类:继承而产出的类 单继承:继承一个父类 多继承:继承多个父类 继承: 什么是什么的关系 父类中没有的属性,在字类中出现 ...
- python面向对象三大特性之一继承、多态、封装
继承,即在定义一个类时,以另一个类为参数,则称这个新定义的类继承了参数类,父类又称为基类. 单继承表示只继承一个类,多继承表示继承多个类. class parent1: pass class pare ...
- Python()- 面向对象三大特性----多态
多态: python 生来支持多态白话:一种事物的多种形态 (动物可以继承给狗,也可以继承给猫) class Animal: pass class Dog(Animal): def attack(se ...
随机推荐
- Oracle recovery manager failed to restore
解决办法: 1:清理过期失效的备份, 2:增加recovery_file_dest_size参数值即可: SQL> show parameter db_recover NAME ...
- 通过fork进程爆破canary
1.1.1 通过fork进程爆破canary ⑴.原理分析: 对fork而言,作用相当于自我复制,每一次复制出来的程序,内存布局都是一样的,当然canary值也一样.那我们就可以逐位爆破,如果程 ...
- ClassPathXmlApplicationContext类
org.springframework.context.support Class ClassPathXmlApplicationContext java.lang.Objectorg.springf ...
- C++面向对象高级编程(五)类与类之间的关系
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 本节主要介绍一下类与类之间的关系,也就是面向对象编程先介绍两个术语 Object Oriented Programming OOP面向对象编 ...
- 各个数据库中top 的表示方法
Select Top在不同数据库中的使用用法: 1. Oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FI ...
- keepererrorcode = connectionloss for 错误处理
自己的环境在虚拟机上,于是使用同事的环境调试问题,发现无法初始化成功,提示keepererrorcode = connectionloss for,于是上网查了下资料整理如下: 1.对比代码中引用的j ...
- Xcode 8 插件安装
1.删除旧插件 cd ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-in rm -rf ../Plug-ins 2.Xcode重 ...
- 判断Git是否有新的提交
公司要搭建CI,有这样一个需求:判断Git是否有新的提交,如果有的话拉取代码构建,如果没有不构建,Jenkins的搭建这里就不赘述了,主要讲一下判断这里. Jenkins需要安装插件Condition ...
- vs 添加第三方库lib的两种方法
方法一1.代码: 方法二2.配置: 首先包含头文件 #include “../DuiLib/UIlib.h” 连接器->常规-->附加库目录.即是将lib所在的目录,千万要记得,还要写一处 ...
- ORA-06512: at "SYS.XMLTYPE" 问题记录
执行SQL报错: SQL> SELECT COUNT(cl.enable_flg) FROM cont_ledger cl INNER JOIN project_project pp ON cl ...