
面向对象程序设计与开发
大鹏的编程之路
既然选择远方,便只顾风雨兼程
展开
-
12.异常处理
1.什么是异常异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止)异常通常分为两类,语法错误和逻辑错误,语法错误指的无法通过编译器,而逻辑错误指的是无法按照逻辑实现自己预想的结果2.常见异常种类ttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError 输入/输出异常...原创 2019-10-14 12:48:30 · 271 阅读 · 0 评论 -
1.面向过程的程序设计&面向对象的程序设计
面向过程的程序设计核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么…,基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式。若程序一开始是要着手解决一个大的问题,面向过程的基本设计思路就是把这个大的问题分解成很多个小问题或子过程,这些子过程在执行的过程中继续分解,直到小问题足够简单到可以在一个小步骤范围内解决。优点:复杂的问题流程化,进而简单化(一个复杂的问...原创 2019-09-02 17:26:08 · 2155 阅读 · 0 评论 -
2.类&对象
类与对象对象是特征与技能的结合体类则是一系列对象相似的 特征与技能的结合体。现实生活中:肯定是先有对象,再有类程序设计中:务必保证先定义类,后产生对象定义类现实生活中现有对象,再产生类,例如一个班级的学生:对象1:张三特征:民族=汉族姓名=张三性别=男年龄=18技能:学习吃饭睡觉对象2:李四特征:民族=汉族姓名=李四性别=男年龄=19技能:学习...原创 2019-09-03 16:31:18 · 394 阅读 · 0 评论 -
3.属性查找与方法
属性查找与方法属性查找类有两种属性:数据属性和函数属性1.数据属性是共享的,数据属性公用一块内存2.类的函数数据是绑定给对象用的,称为绑定到对象的方法class student: mingzu='汉族' #数据属性 def __init__(self,name,age,sex): #函数属性 self.name=name se...原创 2019-09-03 16:58:01 · 432 阅读 · 0 评论 -
4.继承与派生
继承与派生继承继承指的是类与类之间的关系,是一种什么“是”什么的关系,继承的功能之一就是用来解决代码重用问题继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可以成为基类或超类,新建的类称为派生类或子类继承可以分为单继承和多继承class Parentcalss1: passclass Parentcalss2: passclass...原创 2019-09-03 20:22:48 · 435 阅读 · 0 评论 -
5.组合与继承对比
组合组合与重用性:组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合组合和减少代码的重复量,组合与继承都是有效地利用已有类的资源的重要方式。但是二者的概念和使用场景皆不同。1.继承的方式通过继承建立了派生类与基类之间的关系,它是一种’是’的关系,比如白马是马,人是动物。当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承比较好,比如老师是人,学生是人class...原创 2019-09-06 19:31:20 · 277 阅读 · 0 评论 -
6.抽象类
抽象类接口与归一化设计接口:自己提供给使用者来调用自己功能的方式\方法\入口=================第一部分:Java 语言中的接口很好的展现了接口的含义: IAnimal.java/** Java的Interface接口的特征:* 1)是一组功能的集合,而不是一个功能* 2)接口的功能用于交互,所有的功能都是public,即别的对象可操作* 3)接口只定义函数,但不涉及...原创 2019-09-06 19:47:17 · 229 阅读 · 0 评论 -
7.多态与多态性
多态多态:多态指的是一类事物有多种形态,如动物有多种形态:人,狗,猪#定义动物这一抽象类,动物有多态:人,狗,猫import abcclass Animal(metaclass=abc.ABCMeta): #抽象类动物 @abc.abstractmethod def walk(self): pass @abc.abstractmeth...原创 2019-09-06 20:29:05 · 340 阅读 · 0 评论 -
8.封装与property(特性)
封装引子从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有alex一起装进麻袋,然后把麻袋封上口子。照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)class A: __name='sunwukong' def __init__(self): self.__age=...原创 2019-09-08 12:26:22 · 796 阅读 · 0 评论 -
9.绑定方法与非绑定方法
绑定方法与非绑定方法绑定方法1.绑定给类的方法(classmethod)@classmethod是一个装饰器,起作用就是声明下面的函数是绑定给类的,可用 类.函数名 来进行调用即绑定到类。类在使用时会将类本身当做参数传给类方法的第一个参数(即便是对象来调用也会将类当作第一个参数传入),python为我们内置了函数classmethod来把类中的函数定义成类方法。#settings.py...原创 2019-09-08 13:55:57 · 387 阅读 · 0 评论 -
10.python类中常见内置方法
常见内置方法isinstance(obj,cls)和issubclass(sub,super)isinstance(obj,cls)检查是否obj是否是类 cls 的对象class Foo(object): passobj = Foo()isinstance(obj, Foo)issubclass(sub, super)检查sub类是否是 super 类的派生类class ...原创 2019-09-08 16:46:10 · 704 阅读 · 0 评论 -
11.反射(内置函数的一种)
反射反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)四个可以实现自省的函数 下...原创 2019-09-08 14:22:20 · 499 阅读 · 0 评论