. 面向对象和面向过程
.面向过程:核心是过程,是流水线
优缺点:
.流程化,编写简单
.可扩展性差
.面向对象:核心是对象(对象:具有相同属性和动作的结合体)
优缺点:
.可扩展行强
.复杂度高于面向过程
总的来说:
面向对象适合大型项目 面向过程适合小型脚本
.如何编写面向对象的程序(重点)
.先创建类,归类,相当于图纸
语法:
class 类名:(类名首字母大写)
def __init__(self,name,age....) #构造方法,创建对象的时候自动访问,
self.name=name #self,自己,自身,当前正创建的
self.age=age #在创建谁,谁就是self 有python自动传递
def 方法名(self,参数)
方法体
.创建对象
变量=类名(参数)
变量.特征="xx" 可以通过这样的赋值给对象设置属性,其中.代表的是什么的
.对象的操作
.访问对象的属性
对象.属性
print(c.name)
.访问对象的方法
对象.方法() #对象具有什么方法就能调用什么方法
总的来说,类是对象的抽象描述,对象是类的实例化结果
.面向对象的三大特征:
.封装
.对对象的封装(相同属性和动作)
.对属性的封装self.xxx=xxx
.继承
子类拥有父类中出私有方法外的方法
前提是先有父类后有子类
语法:
class 类名(父名1.父名2)
调用方法时还是先从自身找,再找父类的,父类根据排序的先后找
.多态
同一个对象,拥有多种形态
例:
class Animal:
def dong(self)
print("动物可以动")
class Cat(Animal):
def chi(self)
print("猫会吃")
c=Cat()
c.chi()
c.dong()
结果:
猫会吃 #站在猫的角度上
动物可以动 #站在动物会动
c并不是通过Animal创建对象,但是c确实Animal中的一种

day14 面向对象的更多相关文章

  1. day14.面向对象编程

    一 对象的概念 "面向对象"的核心是"对象"二字,而对象的精髓在于"整合" 所有的程序都是由"数据"与"功能& ...

  2. js下 Day14、面向对象案例

    一.软键盘拖拽 效果图: ![img](file:////Users/sairitsutakara/Library/Group%20Containers/UBF8T346G9.Office/Tempo ...

  3. day14——装饰器

    day14 装饰器 装饰器本质就是闭包 开放封闭原则: 扩展是开放的(增加新功能),对源码是封闭的(修改已经实现的功能) 装饰器:用来装饰的工具 作用:在不改变源代码及调用方式的基础下额外增加新的功能 ...

  4. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  5. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  6. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  7. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  8. .NET 基础 一步步 一幕幕[面向对象之对象和类]

    对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...

  9. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

随机推荐

  1. ssh整合(dao使用hibernateTemplate)

  2. PCL—关键点检测(NARF)低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5051533.html 关键点检测本质上来说,并不是一个独立的部分,它往往和特征描述联系在一起,再将特征描述和识别. ...

  3. ps和ai的一些认识

    ps主要是一个后期软件,它很大程度上不是一个创作型的软件,这是它的定位.我觉得李涛老师那句话说的很好,ps是对已有的素材进行加工的.这个已有的素材来源包括但不限于拍照.扫描.数绘板.下载的.如果说你想 ...

  4. p2501 [HAOI2006]数字序列

    传送门 分析 https://www.luogu.org/blog/FlierKing/solution-p2501 对于第二问的感性理解就是有上下两条线,一些点在上面的线的上面或者下面的线的下面,然 ...

  5. 10.model/view实例(1)

    1.如图显示一个2x3的表格: 思考: 1.QTableView显示这个表 2.QAbstractTableModel作为模型类. 3.文档中找到subclass的描述 When subclassin ...

  6. for与break的用法

    # Auther: Aaron Fan age_of_oldboy = 56 #执行3次循环for i in range(3): guess_age = int(input("猜一下oldb ...

  7. 不设置JAVA_HOME运行eclipse

    编辑eclipse目录下的eclipse.ini 在第一行加入下面那句话,实际路径按照系统中的jdk目录设置.这样设置后可以省了环境中的JAVA_HOME像myeclipse一样.   -vm C:\ ...

  8. 回溯法和DFS leetcode Combination Sum

    代码: 个人浅薄的认为DFS就是回溯法中的一种,一般想到用DFS我们脑中一般都有一颗解法树,然后去按照深度优先搜索去寻找解.而分支界限法则不算是回溯,无论其是采用队列形式的还是优先队列形式的分支界限法 ...

  9. Leafletjs学习教程和相关代码整理

    一.Leaflet简介 官方网站:http://leafletjs.com/ 官网上的api和例子大家多看看,多学习学习. Lefalet 是一个为建设移动设备友好的互动地图,而开发的现代的.开源的 ...

  10. c/c++ 字符编码与标识符

    说明: 对于比较现代的语言来讲字符编码不是个大问题:java就可以使用中文作为变量名称,但对于C/C++来讲却不是这样,由于历史原因,标准和编译器厂商的实现总在不停的变化,相关编码信息到底是如何处理的 ...