首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏编程

    Python面向对象7:异常处理

    ython是面向对象语言,所以程序抛出的异常也是类。 常见的Python异常有以下几个: AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl+C被按下 NameError 使用一个还未被赋予对象的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了) TypeError 传入对象类型与要求的不符合 UnboundLocalError 试图访问一个还未被设置的局部变量

    93380发布于 2018-01-29
  • 来自专栏企鹅号快讯

    面向对象的初步理解连载 7

    面向对象是一种主流的编程思维,其核心是把现实世界中的对象对象之间的关系模拟到程序世界中,构造一个软件系统。 Java 是一种典型的面向对象编程语言。 这篇文章主要是来初步理解一下面向对象的思维为下面的内容先给一个基础。针对 Java 面向对象编程的更多内容,会在后面的文章里面详细解释。 面向对象的思维里面有两个重要的概念,对象和类。 OK,那么来总结一下类和对象的关系: 类是描述一类对象属性和行为的模板(蓝图或者设计),对象是类的一个具体呈现(实现) 4. Java 的面向对象 到这里,已经理解了面向对象的几个重要的概念。 其实,把人类世界对象,抽象映射到程序世界中的过程,就是面向对象的思维。这个行为一个专业的名字,称为“建模”。之后,我们再用 Java 编程语言,把这种映射编写出来,就是 Java 的面向对象编程啦。 Java面向对象的编程,就像用 Java 语言讲故事,把现实世界抽象、映射到 Java 的世界。 5. 使用对象 现在,已经对面向对象有一个不错的理解了。

    58490发布于 2018-02-12
  • 来自专栏一个会写诗的程序员的博客

    7面向对象编程(OOP)

    7面向对象编程(OOP) 7.1 面向对象思想 7.2 类与继承 7.2.1 类 7.2.1.1 抽象类 7.2.1.2 接口 7.2.1.3 枚举 7.2.1.4 注解 7.2.1.5 静态类与伴生对象 7.2.1.6 sealed 密封类 7.2.1.7 data 数据类 7.2.1.8 嵌套类Nested Class 7.2.1.9 内部类Inner Class 7.2.1.10 7.2.6 类的行为(算法函数) 7.2.7 接口与抽象类 7.2.8 接口的默认实现 7.2.9 继承 7.2.10 实现接口 7.2.11 函数override重载 7.3 类的实例对象 7.3.1 新建对象 7.3.2 对象属性(数据结构) 7.3.3 对象行为(算法函数) 7.4 委托 7.4.1 类的委托 7.4.2 属性的委托 ---- 《Kotlin极简教程》正式上架

    40810发布于 2018-08-17
  • 来自专栏前端笔记ing

    PHP7-2: 面向对象开发

    PHP 是面向对象语言, 和JAVA 挺像, 面向对象的思想都是一样的, 继承 接口 抽象类 静态属性 …… 语言都是互通的,语言只是实现的工具,学好面向对象对以后设计接口有很大的帮助,那么我们开始吧 PHP 面向对象 静态属性 static // 使用场景: 类的一些公用属性和方法,值有可能改变 // 如何访问 静态属性呢 // 通过 self::方法 或者 属性 , 就可以访问到类的静态属性 # 切记: 静态属性和方法只能类自己访问,不能实例对象访问。 echo '子类不能重写父类'; } public function learn(){ echo '有阅读的能力'; } } // 类为抽象类时不能实例化对象 } Car::fly();//Fly : -------> 通过switch 来判断执行不同的业务逻辑 echo '


    '; Car::eat();//您访问的静态方法类没有 以上是PHP7

    72330发布于 2021-10-11
  • 来自专栏国产程序员

    面向对象7种设计原则(7)-开闭原则

    开闭原则 开闭原则是面向对象世界里最基础的设计原则,它指导我们如何建立一个稳定,灵活,可扩展的系统。 为什么使用开闭原则 第一:开闭原则非常有名,只要是面向对象编程,在开发时都会强调开闭原则 第二:开闭原则是最基础的设计原则,其它的五个设计原则都是开闭原则的具体形态,也就是说其它的五个设计原则是指导设计的工具和方法 第三:开闭原则可以提高复用性 在面向对象的设计中,所有的逻辑都是从原子逻辑组合而来,而不是在一个类中独立实现一套业务逻辑。只有这样的代码才可以复用,逻辑粒度越小,被复用的可能性越大。 第五:面向对象开发的要求 万物皆对象,我们要把所有的事物抽象成对象,然后针对对象进行操作,但是万物皆发展变化,有变化就要有策略去应对,怎么快速应对呢? 参数类型,引用对象尽量使用接口或抽象类,而不是实现类,这主要是实现里氏替换原则的一个要求 抽象层尽量保持稳定,一旦确定就不要修改 元数据(metadata)控件模块行为 编程是一个很苦很累的活,那怎么才能减轻压力呢

    62310发布于 2020-08-27
  • 来自专栏廖雪峰python学习笔记

    Python day7 面向对象编程 (1)

    面向对象编程 OOPObject Oriented Programming,一种程序设计思想。 OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数面向过程和面向对象面向过程,把函数继续切分为子函数面向对象,把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息 ,计算机程序的执行就是一系列消息在各个对象之间传递对象自定义的对象数据类型就是面向对象中的类(Class)的概念首先必须创建出这个学生对应的对象,然后,给对象发一个print_score消息,让对象自己把自己的数据打印出来 score def print_score(self): print('%s: %s' % (self.name, self.score))类(Class)和实例(Instance)面向对象最重要的概念就是类 获取对象信息type()函数它返回对应的Class类型。

    24410编辑于 2024-07-31
  • 来自专栏Java

    【Java SE语法篇】7.面向对象——类和对象

    面向对象程序设计概述 面向对象程序设计(object-oriented programming,OOP),是当今主流的程序设计范畴,它取代了20世纪70年代的”结构化“或过程式编程技术。 面向对象的程序是由对象组成的,每个对象包含对用户公开的特点功能部分和隐藏的实现部分。 1.1 类 类(class)是构造对象的模板或蓝图。 程序只能通过对象的方法与对象数据进行交互。封装给对象赋予了“黑盒”特征,这是提高重用性和可靠性的关键。 1.2 对象 要想使用OOP,一定要清楚对象的三个主要特性: 对象的行为(behavior)——可以对对象完成哪些操作,或者可以对对象应用哪些方法? 类的定义和使用 面向对象程序设计关注的是对象,而对象是现实生活中的实体。

    25110编辑于 2024-05-07
  • 来自专栏用户7873631的专栏

    PHP面向对象7 静态成员(系列篇)

    解析: 注意:静态成员里面不能使用$this不然会报错 问题:子类怎么访问父类的方法变量常量:

    50720编辑于 2022-03-25
  • 来自专栏独立观察员博客

    7种常用的面向对象的设计原则

    面向对象设计的目标之一就是可维护性复用。 包括: 1、设计方案和代码的复用 2、系统要易于扩展和修改 面向对象的设计原则就可以作为上述目标的指导方针,这些原则蕴含在很多的设计模式中,是前辈们从许多的设计方案中总结出来的指导性原则。 最常用的7种设计原则: 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责 开闭原则(Open-Closed Principle Interface Segregation Principle, ISP):使用多个专门的接口,而不是一个单一的总接口 合成复用原则(Composite Reuse Principle, CRP):尽量使用对象组合

    37530编辑于 2022-12-06
  • Day7 面向对象编程:封装、继承、多态

    [重学Python]Day7 面向对象编程:封装、继承、多态一、面向对象编程的特性面向对象编程的三大特性,封装、继承、多态1、封装封装就是把客观事物封装成抽象的类,并隐藏实现细节,使得代码模块化。 2、继承继承是面向对象编程的另一个重要特性,它提供了一种无需重写、使用现有类的所有功能并进行扩展的能力。 二、静态方法和类方法之前,我们在类中定义的方法都是对象方法,也就是说这些方法都是发送给对象的消息,实际上,我们写在类中的方法不需要都是对象方法,例如我们顶一个一个三角形类,通过传入三条边长来构造三角形, 并提供计算周长和面积的方法,但是传入的三条边长未必能构造出三角形对象,因此我们可以先写一个方法来验证三条边长是否可以构成三角形,这个方法很显然不是对象方法,因为在调用这个方法时三角形对象尚未创建出来,所以这个方法是属于三角形类而不是属于三角形对象的 (类本身也是一个对象),通过这个参数我们可以获取和类相关的信息并且可以创建出来的对象

    30910编辑于 2024-04-30
  • 来自专栏Java探索之路

    Python升级之路( Lv7 ) 面向对象深入

    Python系列文章目录 第一章 Python 入门 第二章 Python基本概念 第三章 序列 第四章 控制语句 第五章 函数 第六章 面向对象基础 第七章 面向对象深入 ---- 面向对象深入 Python系列文章目录 前言 一、面向对象三大特征 继承 super()获得父类定义 object 父类 dir() 查看对象属性 mro() 获取类的层次结构 特殊方法和特殊属性 运算符重载 多重继承 组合 多态 二、浅拷贝与深拷贝 三、常用设计模式 工厂模式 单例模式 工厂和单例模式组合 四、实操作业 前言 在本章我们首先学习了面向对象的三大特征, 继承, 封装和多态. 深拷贝: 拷贝对象的地址改变, 子对象地址也改变 再然后我们了解编程中常用的工厂模式, 单例模式以及他们的组合, 最后通过实操来回顾下本章学习的内容 ---- 一、面向对象三大特征 Python是面向对象的语言 ,李四休息是玩游戏,程序员休息是“敲几行代码” 继承 继承是面向对象编程的三大特征之一.

    70310编辑于 2022-06-15
  • 来自专栏python3

    面向对象

    面向对象 特性 class  object 封装、继承、多态 语法:属性、方法 构造函数(在实例化时做一些类的初始化的工作 该函数是用于传参数) 析构函数(在实例释放、销毁的时候自动执行的、通常用于一些收尾工作 self.name ='' 8 pass View Code 面向对象编程 OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单 ,并且可以大大提高程序开发效率 ,另外,基于面向对象的程序可以使它人更加容易理解你的代码逻辑,从而使团队开发变得更从容。 面向对象的几个核心特性如下 Class 类 一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。 ,里面包含着类的数据和方法 Inheritance 继承 一个类可以派生出子类,在这个父类里定义的属性、方法自动被子类继承 Polymorphism 多态 多态是面向对象的重要特性,简单点说:“一个接口

    78220发布于 2020-01-19
  • 来自专栏python前行者

    面向对象

    1、OOP 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计) 1.1、面向对象编程介绍 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起 面向对象编程(Object Oriented Programming-OOP)是一种解决软件复用的设计和编程方法。 面向对象的理解: 面向对象是一种设计思想 1.符合人们的思考习惯 2.把执行者变成指挥者 3.简化功能,把复杂的事情简单化 面向对象有三大特征: 1.封装 2.继承 3.多态 1.2、类和对象 面向对象编程的 2个非常重要的概念:类和对象 对象面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类 类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象 getName(self): return self.name bosi = Bosi('xiaohua') print(bosi.name) print(bosi.color) 7

    86310发布于 2019-03-25
  • 来自专栏编程学习基地

    面向对象

    面向对象 前言 C++里面有句经典台词: 女朋友是new出来的,儿子是继承过来的 这期介绍C++面向对象的知识点,带你面向对象,今天是情人节,不用担心没对象,new一个,有了对象就会累(类),所以我还会介绍类 面向对象三个步奏:定义对象,创建对象,使用对象 本期知识简单地定义了一个女朋友类,然后创建girl对象,最后使用对象introduce 最后祝大家情人节快乐~ 目录 new和delete申请释放内存分配多个内存动态分配内存类和对象访问类型限定符类和结构体区别封装定义一个女朋友类 说到面向对象就不得不提面向对象的三大特性: 封装、继承 和 多态 类的关键字是:class 在对class描述之前需要了解到一个规则:访问控制权限 既然有访问控制权限,那就有访问类型限定符 访问类型限定符 可以访问 类和结构体区别 在C++中,类和结构没有本质区别,唯一不同在于 类的默认访问控制属性为private 结构的默认访问控制属性为public 封装 对不同成员的控制访问属性加以区分,体现了C++作为面向对象语言的封装特性 因为class这个关键字的默认访问控制属性为private,意味着只有这个类自己和子类可以访问m_name,m_age这些变量,这个就体现了C++作为面向对象语言的封装特性,我有这个东西,可如果不是我和我儿子

    82820发布于 2020-05-11
  • 来自专栏令仔很忙

    面向对象

    面向对象VS面向过程 在面向对象编程出现之前,几乎所有的程序都是以面向过程为中心的,程序的运行从某个地方开始运行达到一定的目的就结束了。而且程序的代码修改和重复使用率比较低。 面向对象把是整个世界看成一系列实体的集合,所有的个体都是对象,而对象就是具有一定属性和行为的实体的集合。 下面的表格大概的说明了面向过程(OPP)和面向对象(OOP)的区别: image.png  ★面向对象编程中的类和对象 类:是一个抽象概念,比如说我们我们从各式各样的汽车中抽象出汽车的概念、由不同品种的猫抽象出猫的概念 一般情况下状态是描述具体对象而非类的,行为是有具体对象发出而不是类。 ★面向对象的三大特征  封装 制作电脑什么人最牛? 继承  在之前学习UML的时候就已经了解到了继承,在面向对象中的继承分为继承(泛化)、和组合(聚合)。   

    83520发布于 2018-09-14
  • 来自专栏python知识

    面向对象

    对象的概念 创建对象的字面量语法 访问成员运算符 创建对象的构造函数语法 this关键字 添加和删除属性 delete关键字 全局对象 Number / String / Boolean Date / Math / RegEx / Array BOM window对象的属性和方法 history对象 forward() / back() / go() location对象 navigator对象 screen 对象 DOM DOM树 访问元素 getElementById() / querySelector() getElementsByClassName() / getElementsByTagName() select 事件绑定 HTML事件处理程序(不推荐使用,因为要做到标签与代码分离) 传统的DOM事件处理程序(只能附加一个回调函数) 事件监听器(旧的浏览器中不被支持) 事件流:事件捕获 / 事件冒泡 事件对象

    69440发布于 2021-05-20
  • 来自专栏网络收集

    面向对象

    什么是面向对象面向过程:根据解决问题的过程,直接设计系统。如 C 语言。面向对象:将问题分解成多个对象,设计模块化、低耦合的系统。如 java 语言。特性:封装、继承、多态。 普通内部类属于具体对象,因此不能声明 static 成员变量和方法。成员内部类依附外部类而存在。也就是说,如果要创建普通内部类的对象,就必须首先存在外部类的对象。 因为在多线程中,外部类方法中定义的变量 A 在方法执行完毕后生命周期就结束了,而此时 Thread 对象的生命周期很可能还没有结束。内部类方法中访问的变量 A 实际上是拷贝。 (b); }; }.start(); }}Copy to clipboardErrorCopied静态内部类静态内部类是不需要依赖于外部类,可以在不创建外部类对象的情况下创建内部类的对象 public class Test { public static void main(String[] args) { // 无需外部对象,直接创建内部类 Outter.Inner

    74820编辑于 2022-08-03
  • 来自专栏进击的君君的前端之路

    面向对象、this

    1.创建一个空对象作为 this 2.this.proto指向构造函数的prototype 3.运行构造函数 4.返回 this 以上步骤通过关键字 new 全部搞定 2.如何手动指定对象的原型链 ,创建一个新的对象 3.this 指什么 由于运行期绑定的特性,JavaScript 中的 this 含义非常多,它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式 随着函数使用场合的不同 但是有一个总的原则,那就是this,总是指向调用该方法的对象。在这里调用该放法的对象就是window,所以在这里this===window。 由于this指向由构造函数创造的实例对象,即这里的p1,p2,p3。 (4)作为对象方法调用 在 JavaScript 中,函数也是对象,因此函数可以作为一个对象的属性,此时该函数被称为该对象的方法,在使用这种调用方式时,this 自然指向该对象 var obj1 = {

    68030发布于 2018-06-27
  • 来自专栏廖雪峰python学习笔记

    Python day7 面向对象高级编程 (2)

    数据封装、继承和多态只是面向对象程序设计中最基础的3个概使用slots和@propertyslots限制实例的绑定属性想要限制实例的属性,例如只允许对Student实例添加name和age属性:Python self): self.a, self.b = 0, 1 # 初始化两个计数器a,b def __iter__(self): return self # 实例本身就是迭代对象 name,不会在getattr中查找完全动态调用的特性非常灵活调用实例方法调用实例方法时,我们用instance.method()来调用,也可以直接对实例进行调用callable()函数,我们就可以判断一个对象是否是 “可调用”对象枚举类Enum可以使得每个常量都是class的一个唯一实例# 1from enum import EnumMonth = Enum('Month', ('Jan', 'Feb', 'Mar 2Mar => Month.Mar , 3Apr => Month.Apr , 4May => Month.May , 5Jun => Month.Jun , 6Jul => Month.Jul , 7Aug

    31710编辑于 2024-08-01
  • 来自专栏精讲JAVA

    面向对象VS面向过程

    3 java 面向对象 思考一下吧 java的开发者可能一眼就能想到应该怎么做,java是一种面向对象的编程语言,利用面向对象的继承、封装、多态的特性,我们很容易解决这个问题,毕竟这是对于面向对象最基本的应用了 三段言简意赅的代码充分展示了面向对象的代码风格,目前我们实现了面向对象的代码,继续进行面向过程的代码, 4 C 面向过程 思考一下吧 C语言的开发者可能遇到这个问题(本人JAVA,如有不妥 由此可见,面向对象的特点是修改数据结构的同时,不影响方法,也就是说添加一个类,不会对原系统的方法有影响。而面向过程在添加一个类的同时,需要修改原系统方法,但这能说明面向对象要比面向过程高级吗? 相比于面向对象面向过程对于添加行为特征要方便的多。 7 总结 面向对象:修改数据结构的同时,不影响方法。 面向过程:添加函数的时候,数据结构不会受到影响。

    1.4K50发布于 2018-01-30
领券