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

    【Pygame 第6课】 面向对象的游戏设计

    于是乎,我之前煞费苦心讲解的面向对象就该派上用场了。我要把子弹相关的东西都封装在一起。 先看看目前子弹相关的有哪些东西:x、y坐标,一张图片,好像就这么多。然后,还有一段处理子弹运动状态的代码。 self.y = mouseY - self.image.get_height() / 2 else: self.y -= 5 代码的内容基本和之前一样,只是改为了面向对象的写法 如果你对__init__,self这些字眼感到陌生的话,请发送数字47到50,回顾一下关于python面向对象的课程。 接下来,程序主体就可以瘦身了。 面向零基础初学者的编程课 每天5分钟,轻松学编程 回复『 p 』查看python课程 回复『 g 』查看pygame课程 回复『 t 』查看习题

    1K80发布于 2018-04-16
  • 来自专栏生如夏花绚烂

    Es6面向对象

    son.sum(); 由于子类也有个构造函数,参数就被传进了子类,并没有到父类的构造函数去 如果有方法将这个参数传递给父类那么问题就解决了 super关键字 super关键字用于访问和调用对象父类上的函数

    36810编辑于 2022-09-08
  • 来自专栏以终为始

    Scala 【 6 面向对象编程 】

    scala - 面向对象编程 定义类来说不需要修饰,直接使用 class 创建即可。 " def sayHello(){ print("Hello," + " " + name) } // 不加括号的方法调用时也不能加 def getName = name } // 创建对象 helloWorld = new HelloWorld helloWorld.getName getter 与 setter 定义不带 private 的 var field,此时 scala 生成的面向 如果将 field 使用 private 来修饰,那么代表这个 field 是类私有的,在类的方法中,可以直接访问类的其他对象的 private field 。 如果不希望 field 被其他对象访问到,那么可以使用 private[ this ] ,意味着对象私有的 field ,只有本对象内才可以访问到。

    50830编辑于 2023-03-09
  • 来自专栏每日一Java,进步一点点

    面向对象设计原则

    面向对象设计原则 都是为了高内聚低耦合原则。编程时基本都要遵守 单一职责原则 分类原则:一种人只干一种事。 传统:没有接口而是类与类之间的对象创建。 情况:如果A类里写了想要的方法,为了不在B类不重复编写代码,可以在B类中设置一个方法:将A类的对象作为参数并在设置的方法里通过对象获取到A类中想要的方法。 白话:在设计方法参数的时候,保证不多给方法多余的参数。 例如:方法只需要一个用户的ip地址就可以执行,方法参数就不要写成需要输入用户对象,然后在方法里面通过对象再去调用其ip出来;而是在调用方法前就把用户对象的ip取出来,然后作为参数来调用方法。

    52830编辑于 2022-08-18
  • 来自专栏7号代码

    面向对象设计原则

    常用的面向对象设计原则包括7个,分别是单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则和迪米特原则。 面向对象设计的目标之一在于支持可维持性复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于扩展和修改,具有较好的灵活性。 为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。 四.依赖倒转原则 ---- Dependency Inversion Principle,DIP 如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现 在实现依赖倒转原则时,需要针对抽象层编程,而将具体类的对象通过依赖注入的方式注入到其他对象中。依赖注入是指当一个对象要与其他对象发生依赖关系时,通过抽象来注入所依赖的对象

    1.1K40发布于 2018-09-28
  • 来自专栏Python 大数据与SQL优化笔记

    Python面向对象设计面向对象编程解析

    我们都知道Python是一门灵活度很高的语言,它可以面向过程,面向对象,那我们今天说说Python中的面向对象设计面向对象编程的区别 面向对象设计面向对象编程都提到了“面向对象”, 那么首先我们要搞清楚什么是对象 知道对象的概念之后,我们进入主题 1.面向对象设计 说到设计,我们可以理解为是一种想法,思路,就是把对象的属性,功能(python里用函数表达)糅合在一起形成一个对象,这种思想可以简单的理解为面向对象设计 <locals>.run at 0x0000022C6C9B7158>} 一条小猫[毛球],喵喵 上面我们用纯函数的方式去描述了一只小猫,但是我们也可以把上面这张方式理解为面向对象设计,因为上面我们把猫的属性和功能函数结合在一起 我们用 cat=cat('毛球','公','波斯猫') 来生成一个对象,我们可以调用对象的属性和函数等等,这些都是我们熟悉的面向对象设计,但是我们不能说这种方式叫面向对象编程。 我的理解一方面是面向对象编程的语法需要,二深层次的说是把类的数据属性和函数属性糅合在一起,满足面向对象设计的思想 self在对象实例化的时候,会自动传入,如果函数属性里面不定义self会报错 class

    1.2K30发布于 2019-05-16
  • 来自专栏程序生涯

    面向对象设计思想

    1、面向过程 我开车、我挂档、我踩油门、我过河北、我过山西 2、面向对象 我命令车去新疆 车怎么去我不管 (信息封装在车这个类里面。 我不用去了解整个开动的过程) 当碰到某个问题的时候,把里头的对象抽象 抽象、分类、继承、多态 类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所具有的动态和静态属性 对象可以看成是类的具体实现 继承关系:一般和特殊(xx是一种xx) 聚合关系:整体和部分(xx是xx的一部分) 每一种继承下来的类都有自己的实现方法,但父类并不知道其实现方法 问题中有哪些类和对象 每个类和对象所具有的属性和方法 类与类之间具有哪些关系 为了解决以下问题: 1、软件重用性差 2、可维护性差 3、无很好的扩展性 面相对象:抽象、封装、共享性 强调对象的结构

    54410发布于 2020-08-14
  • 来自专栏扯编程的淡

    Go面向对象设计

    1 什么是面向对象?如果有深入学习过Java的同学一定会知道,在Java中,“万物皆对象”,而对象又有各自的属性和方法,在Java中,对象按不同类型又可以分为实体类对象、业务类对象等等。 面向对象是一种传统的软件开发方法,一种编程范式,他区别与面向过程的程序设计语言,我们来打个比方:针对事件:学生小明要去上学面向过程的解决方式:小明->起床->做校车->上学面向对象的解决方式:小明->去上学因此 ,面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。 继承会让人们想到父子关系,在Java面向对象的思想中也是如此,但不同的是在Java中子类拥有其父类的属性和方法,如果没有特殊关键字的约束,子类可以取代父类,并且一个父类能有多个子类。 3 Go语言面向对象设计3.1 封装type Student struct { Peo People Sid int School string}func (stu Student

    48810编辑于 2023-10-14
  • 来自专栏泰斗贤若如

    面向对象设计原则

    【三】、面向对象设计原则 面向对象设计原则概述 可维护性:指软件能够被理解、改正、适应及扩展的难易程度。 可复用性:指软件能够被重复使用的难易程度。 面向对象设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于扩展和修改,具有良好的可维护性。 面向对象设计原则为支持可维护性复用而诞生。 每一个设计模式都符合一个或多个面向对象设计原则,面向对象设计原则是用于评价一个设计模式的使用效果的重要指标之一。 ? 单一职责原则 单一职责原则定义 单一职责原则是最简单的面向对象设计原则,用于控制类的粒度大小。 单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 开闭原则 开闭原则定义 开闭原则是面向对象的可复用设计的第一块基石,是最重要的面向对象设计原则。 开闭原则:软件实体应当对扩展开放,对修改关闭。

    1.1K20发布于 2020-03-03
  • 来自专栏程序员千羽

    面向对象设计原则

    面向对象设计原则概述 2. 单一职责原则 3. 开闭原则 4. 里氏代换原则定义 5. 依赖倒转原则 依赖倒转原则分析 6. 接口隔离原则 7. 合成复用原则 8. 迪米特法则 1. 面向对象设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于扩展和修改,具有良好的可维护性 面向对象设计原则为支持可维护性复用而诞生 指导性原则,非强制性原则 每一个设计模式都符合一个或多个面向对象设计原则,面向对象设计原则是用于评价一个设计模式的使用效果的重要指标之一 设计原则名称 定义 使用频率 单一职责原则(Single Responsibility 单一职责原则 “单一职责原则定义:单一职责原则是最简单的面向对象设计原则,用于控制类的粒度大小 单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 开闭原则 开闭原则定义 “开闭原则是面向对象的可复用设计的第一块基石,是最重要的面向对象设计原则。软件实体应当对扩展开放,对修改关闭。

    71910编辑于 2021-12-29
  • 来自专栏Frank909

    我对面向对象6设计原则的理解

    程序员都知道编程有 3 大类:面向过程、面向对象面向函数。面向对象是被讨论的最多的,个人认为,这是因为 Java 之类的编程语言有强大的用户基础,本质还是因为比较符合人的直觉。 说到面向对象,大家可能就会很快想到了 23 种设计模式,可只有少部分人会想到面向对象6 大原则,所以本文我分享一下我对于 6 大原则的看法。 6 大原则是内功心法,23 种设计模式是武术套路,它们的本质是为了更好地面对需求的变化。 很多人对于设计模式背诵的滚瓜烂熟,但是却没有办法评价自己的代码质量,尤其是根据自己的想法整了一大堆设计模式之后,很难分辨自己是规范编程还是过度设计。 其实,设计模式是立足于 6设计原则上的。 6设计原则对应 6 个规则,取首字母缩写就是 SOLID 。 1. 单一职责原则 (Single Responsibility Principle) 描述:一个类只有一个引起修改的原因。

    70330发布于 2020-07-23
  • 来自专栏以终为始

    Java面向对象6(AA ~ AE)

    AE  简单的复数运算(类和对象) (SDUT 4303) import java.util.*; class Complex { int a, b; Complex() { } Complex

    43510编辑于 2023-03-09
  • 来自专栏自动化、性能测试

    Python - 面向对象编程 - 实战(6

    需求 设计一个培训机构管理系统,有总部、分校,有学员、老师、员工,实现具体如下需求: 有多个课程,课程要有定价 有多个班级,班级跟课程有关联 有多个学生,学生报名班级,交这个班级对应的课程的费用 有多个老师 " # author: 小菠萝测试笔记 # blog: https://www.cnblogs.com/poloyy/ # time: 2021/9/7 11:18 下午 # file: 18_实战6.

    46910发布于 2021-09-14
  • 来自专栏Nicky's blog

    面向对象设计原则

    一、设计原则概述 1.1 面向对象设计原则概述: 单一职责原则(Single Responsibility Principle, SRP) 开闭原则(Open-Closed Principle, OCP Interface Segregation Principle, ISP) 合成复用原则(Composite Reuse Principle, CRP) 迪米特法则(Law of Demeter, LoD) 设计原则名称 设计原则简介 单一职责原则 类的职责要单一,不要将太多的职责放在一个类中 开闭原则 软件实体对拓展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上拓展其功能 里氏代换原则 在软件系统中,一个可以接受基类对象的地方必然可以一个子类对象 也就是说在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个模块的行为。 ,用子类对象来替换父类对象

    77020发布于 2019-04-22
  • 来自专栏程序袁的专栏

    面向对象设计SOLID原则

    做了这么多年的面向对象编程还是写出违背SOLID原则的代码,一看都懂、一做就被怼,敏感度不够,如何是好? 难道SOLID原则本身就有错? 难道我不应该涉水OOD? ...... 袁Sir为了图省事,把这个六把工具同时装在一个工具箱里,每次都把装有6把工具的工具箱给A或B租用。 经过几次借还,袁Sir收到顾客的抱怨,为什么呢? 主要原因有两点: 关注的事情太多 关注事情的细节 创业初期,袁Sir这么做问题不大,公司在不断地发展壮大(如同软件的演变),袁Sir就需要琢磨出新的方案,而这些方案的核心观念无非两个: 分离关注点 引入中间人 在面向对象软件设计中 ,关注点分离,其实体现的就是软件设计的精髓 -- 高内聚,低耦合,引入一个中间人 则跟 面向抽象编程 有异曲同工之处。 ---- 参考阅读 让里氏替换原则为你效力 解析简单设计原则 聊聊面向对象设计中的Is-A 写了这么多年代码,你真的了解SOLID吗?

    1.3K40发布于 2020-04-15
  • 来自专栏洞明学问

    面向对象设计原则笔记

    Liskov Substitution Principle 里氏替换原则 特点 继承、多态与封装,属于面向对象编程的几大核心特征。里氏替换原则对继承有指导意义。 使用继承时,子类对象应该可以在程序中替代父类对象使用,而不破坏程序原本的功能。 尽量将可变的行为做为类的一个属性(可变),并提供方法可以修改这个行为。 让客户(调用方)来驱动协议设计。在有多余的依赖时,找出最小类,然后依据不同的依赖关系,继承出更小的类。 通过编写测试反向推动设计改进。 抽象解耦了高层模块和低层模块间的依赖关系,让代码更灵活。但抽象同时也带来了额外的编程与理解成本。而只有对代码中现在或者未来会发生变化的东西进行抽象,才能获得最大的利益。

    62320发布于 2020-05-22
  • 来自专栏TIGERB的技术博客

    面向对象设计过程

    上面就是面向对象设计的代码结果。 所以,如何设计出完全面向对象的代码? 代码建模 ---- 什么是代码建模? 所以现在,什么是面向对象? 概念 ---- 面向对象设计原则 对接口编程而不是对实现编程 优先使用对象组合而不是继承 抽象用于不同的事物,而接口用于事物的行为 针对上面的概念,我们再回头看我们上面的代码 对接口编程而不是对实现编程 机器人的创建行为最终依赖于BehaviorOrderCreateInterface接口 是不是完美契合,所以这就是“面向对象设计过程”。 结论 代码建模过程就是“面向对象设计过程”的具体实现方式. 预习 设计模式 最后,设计模式又是什么? 同样,我们下结合上面的场景和概念预习下设计模式。

    1.3K40发布于 2020-10-29
  • 来自专栏技术知识总结

    面向对象程序设计

    OOP 【面向对象程序设计】(OOP)与【面向过程程序设计】在思维方式上存在着很大的差别。【面向过程程序设计】中,算法是第一位的,数据结构是第二位的,这就明确地表述了程序员的工作方式。 而【面向对象程序设计】却调换了这个次序,【面向对象程序设计】将数据放在第一位,然后再考虑操作数据的算法。 对于一些规模较小的问题,将问题分解为过程的开发方式比较理想。 而面向对象更加适用于解决规模较大的问题。 面向对象程序设计是一种编程范式或编程风格。 面向对象的程序是由类和对象组成的(以类和对象作为组织代码的基本单元),并将封装、抽象、继承、多态这四个特性,作为程序设计和实现的基础。 面向对象程序设计语言是【支持类和对象的语法机制。 对于这四大特性,尽管大部分面向对象程序设计语言都提供了相应的语法机制来支持,但不同的编程语言实现这四大特性的语法机制可能会有所不同。

    2.5K120编辑于 2023-04-13
  • 来自专栏国产程序员

    面向对象的7种设计原则(6)-迪米特原则

    迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当降低成员的访问权限,也就是说,一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开。 面向对象设计原则和面向对象的三大特性本就不是矛盾的。迪米特法则其根本思想,是强调了类之间的松耦合。 优点 减少对象之间的耦合性 ? 摘自大话设计模式: ? ? ? 注意 在类的划分上,应该创建弱耦合的类。类与类之间的耦合越弱,就越有利于实现可复用的目标。 在类的结构设计上,尽量降低类成员的访问权限。 在类的设计上,优先考虑将一个类设置成不变类。 在对其他类的引用上,将引用其他对象的次数降到最低。

    80240发布于 2020-08-17
  • 来自专栏韩曙亮的移动开发专栏

    【C++】面向对象模型 ① ( 面向对象设计 | 面向对象底层实现机制 | 程序内存结构 )

    一、面向对象模型 1、面向对象设计 C++ 语言中 对 面向对象程序设计 的支持有 : 封装 : 封装 静态 / 非静态 成员变量 / 成员函数 继承 : 单继承 , 多继承 , 虚继承 ; 多态 : 函数重载 ; 对象的创建与回收 : 构造函数 , 析构函数 ; 2、面向对象底层实现机制 C 语言中 , 数据 ( 变量 ) 和 行为 ( 函数 ) , 是 分开声明 的 , 数据 和 行为 之间 没有 中的成员变量可以是 公有的 : 可以直接被对象访问 ; 私有的 : 只能被对象自身的成员函数访问 ; 受保护的 : 只能被对象自身的成员函数和派生类访问 ; C++ 中的 成员变量 有两种类型 : 静态成员变量 : 普通的 成员函数 ; 虚函数 : 使用 virtual 修饰的 成员函数 ; 3、程序内存结构 计算机实际程序结构 : 从 计算机 程序执行角度分析 , 一个程序由 数据段 和 代码段 组成 ; 面向对象封装结构 : C++ 中的 面向对象 设计中 , 将 变量 和 函数 封装到一起 ; C++ 编译器 需要处理 将 " 面向对象封装结构 " 转为 " 计算机实际程序结构 " 的 工作 ; C++ 的 对象模型

    54810编辑于 2023-10-15
领券