首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
编程语言
> 详细
Python基础班每日整理(五)
时间:
2018-07-02 16:17:21
阅读:
166
评论:
0
收藏:
0
[点我收藏+]
标签:
访问
特点
很多
空间
表示
变量
...
职责
覆盖
03_面向对象_day01
面向对象的简称?
面向对象编程 —— Object Oriented Programming 简写 OOP,是一种编程思想或者方式
面向对象和面向过程的区别?
面向过程是早期的一个编程思想,所有的步骤从头到尾逐步实现,把某些功能独立的代码块封装成函数,然后顺序的调用不同的函数,注重步骤与过程,不注重职责分工,适合开发简单的项目。
面向对象相比函数是一个更大的封装,面向对象注重对象和职责,不同的对象承担不同的职责,适合开发比较复杂的项目。
类和对象的概念?
类和对象是面向对象的两大核心概念,
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。就好比图纸或者模板,根据这个模板可以创建很多个对象
对象是由类创建出来的一个具体存在,可以直接使用。
类和对象的关系?
类是模板,对象是根据类这个模板创建出来的,应该 先有类,再有对象
类只有一个,而对象可以有很多个,不同的对象之间属性可能会各不相同
类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少
属性和方法是什么?
对对象的特征描述,通常可以定义成属性
对象具有的行为(动词),通常可以定义成方法
如何定义类并创建对象?
class 类名:
def 方法1(self, 参数列表):
pass
类名符合大驼峰命名,方法第一个参数必须是self,self 就表示 当前调用方法的对象自己在方法内部,可以通过 self. 访问对象的属性,也可以通过 self. 调用其他的对象方法
创建一个对象如下:
对象变量 = 类名() 自动分配内存空间,自动初始化方法(定义属性)
init
()方法的作用
初始化方法,在对象创建的时候会自动执行,主要用来定义类的属性
str
()方法的作用
返回对象的描述信息,print 函数输出对象变量时,能够打印自定义的内容,必须返回字符串
del
()方法的作用
对象被从内存中销毁前,会被自动调用
面向对象的三大特点
封装、继承、多态
如何理解面向对象的封装?
面向对象编程的第一步,就是要把属性和方法封装到类中,外界使用类创建对象,然后让对象调用方法,对象方法的细节都封装在类的内部。
03_面向对象_day02
私有属性、私有方法;伪私有属性和方法
私有属性:对象不希望公开的属性,语法是在属性前面加上
属性名
私有方法:对象不希望公开的方法,语法是在方法前面加上
方法名
伪私有属性和方法是指在Python中并没有真正意义上的私有,而是把属性或者方法名前面加上了_类名,可以通过_类名__属性名的形式访问,但是不推荐。
继承的作用,以及语法
继承实现了代码的重用,子类可以拥有父类的所有方法和属性。
class 子类名(父类名):
pass
继承具有传递性,子类可以拥有所有与子类有继承关系的父类方法和属性。
重写父类方法,如何调用重写的父类方法?
当父类的方法实现不能满足子类需求时,可以对方法进行重写(override)
重写父类方法有两种情况:
覆盖父类的方法,子类中创建一个跟父类同名的方法;
对父类方法进行扩展,使用super().父类方法调用,另外可以通过父类名.父类方法()的形式去访问,但是不推荐。
多继承的概念以及语法
多继承:子类可以拥有多个父类,并且具有所有父类的属性和方法。多个父类之间应尽量避免同名的方法和属性。
class 子类名(父类名1, 父类名2...)
pass
多态的概念。
不同的子类对象调用相同的父类方法,产生不同的执行结果
多态可以增加代码的灵活度,以继承和重写父类方法为前提,是调用方法的技巧,不会影响到类的内部设计
Python基础班每日整理(五)
标签:
访问
特点
很多
空间
表示
变量
...
职责
覆盖
原文地址:http://blog.51cto.com/13517854/2135112
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
Spring Cloud 从入门到精通(一)Nacos 服务中心初探
2021-07-29
基础的排序算法
2021-07-29
SpringBoot|常用配置介绍
2021-07-29
关于 .NET 与 JAVA 在 JIT 编译上的一些差异
2021-07-29
C语言常用函数-toupper()将字符转换为大写英文字母函数
2021-07-29
《手把手教你》系列技巧篇(十)-java+ selenium自动化测试-元素定位大法之By class name(详细教程)
2021-07-28
4-1 YAML配置文件 注入 JavaBean中
2021-07-28
【python】 用来将对象持久化的 pickle 模块
2021-07-28
马拉车算法
2021-07-28
用Python进行冒泡排序
2021-07-28
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!