. 面向对象和面向过程
.面向过程:核心是过程,是流水线
优缺点:
.流程化,编写简单
.可扩展性差
.面向对象:核心是对象(对象:具有相同属性和动作的结合体)
优缺点:
.可扩展行强
.复杂度高于面向过程
总的来说:
面向对象适合大型项目 面向过程适合小型脚本
.如何编写面向对象的程序(重点)
.先创建类,归类,相当于图纸
语法:
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. PopupWindow-----点击弹出 PopupWindow 初始化菜单

    /** * 点击弹出 PopupWindow 初始化菜单 */ private void initPopupWindow() { PopupWindowAdapter adapter = new Po ...

  2. 算法Sedgewick第四版-第1章基础-006一封装输出(文件)

    1. package algorithms.util; /*********************************************************************** ...

  3. JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-005Table per subclass with joins(@Inheritance(strategy = InheritanceType.JOINED)、@PrimaryKeyJoinColumn、)

    一.结构 The fourth option is to represent inheritance relationships as SQL foreign key associations. Ev ...

  4. Linux 性能调优

    一.简介 有些时候,我们特别关注程序的性能,特别是底层软件,比如驱动程序,OS等.为了更好的优化程序性能,我们必须找到性能瓶颈点,"好钢用在刀刃上"才能取得好的效果,否则可能白做工 ...

  5. 关于 block的一些浅识

    block的定义:“带自动变量的匿名函数” (一)写法: ^ void (int iAge){ NSLog(@"%d", iAge);}; 和C函数写法区别在于: 1) :以插入符 ...

  6. Be a Smart Raftsman SGU475

    传送门 题目大意 有m+1个点,0是起点,m是终点,i-1到i有一条边,有一个船由0驶往m,不能返回,它在载重小于等于ci时通过第i条边消耗的时间为di否则为Di,现在有n个人,每个人体重为wi,上船 ...

  7. C++面试笔记--指针和引用

    面试一:指针与引用的区别? 答案: (1)非空区别.在任何情况下都不能使用指向空值的引用.因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针 ...

  8. 【Android开源】CircleImageView自定义圆形控件的使用

    github地址:https://github.com/hdodenhof/CircleImageView package de.hdodenhof.circleimageview; import e ...

  9. DotNetty 版 mqtt 开源客户端 (MqttFx)

    一.DotNetty背景介绍 某天发现 dotnet  是个好东西,就找了个项目来练练手.于是有了本文的 Mqtt 客户端   (github:  MqttFx ) DotNetty是微软的Azure ...

  10. SQLServer数据库,表内存,实例名分析SQL语句

    --数据库内存分析 USE master go DECLARE @insSize TABLE(dbName sysname,checkTime VARCHAR(19),dbSize VARCHAR(5 ...