面向对象程序设计

go-面向对象编程(下)

别说谁变了你拦得住时间么 提交于 2019-12-04 16:42:04
面向对象编程思想-抽象 抽象的介绍 我们在前面去定义一个结构体时候,实际上就是把一类事物的共有的 属性( 字段)和 行为( 方法)提取 出来,形成一个 物理模型(结构体)。这种研究问题的方法称为抽象 比如一个银行账户: package main import ( "fmt" ) //定义一个结构体Account type Account struct { AccountNo string Pwd string Balance float64 } //方法 //1. 存款 func (account *Account) Deposite(money float64, pwd string) { //看下输入的密码是否正确 if pwd != account.Pwd { fmt.Println("你输入的密码不正确") return } //看看存款金额是否正确 if money <= 0 { fmt.Println("你输入的金额不正确") return } account.Balance += money fmt.Println("存款成功~~") } //取款 func (account *Account) WithDraw(money float64, pwd string) { //看下输入的密码是否正确 if pwd != account.Pwd { fmt.Println

面向对象编程

自闭症网瘾萝莉.ら 提交于 2019-12-04 15:02:01
面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。 而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。 1.类和实例 类是实例的模板,实例是一个个具体的对象,方法是与实例绑定的函数 2.访问限制 3.继承和多态 父类、子类、开闭原则、动态语言的“鸭子类型” 4.获取对象信息 type():判断对象类型 isinstance():对于class的继承关系来说,使用 type() 就很不方便。我们要判断class的类型,可以使用 isinstance() 函数。 dir():如果要获得一个对象的所有属性和方法,可以使用 dir() 函数,它返回一个包含字符串的list 5.实例属性和类属性 来源: https://www.cnblogs.com/quanmeng/p/11870476.html

面向对象编程介绍

我怕爱的太早我们不能终老 提交于 2019-12-04 11:56:30
面向对象编程介绍 一、面向过程编程 面向过程变成的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么…… 基于面向过程编程的思想编写程序好比在设计一条流水线,是一种机械式的思维方式。 优点:复杂的问题流程化、进而简单化 缺点:扩展性差 二、面向对象编程 你可以把你自己想象成如来佛祖,然后你想找四个人去取经,所以你就去找了四个人取经。你找来了四个普通人准备让他们去取经,但是这四个人不是猪八戒、也不是孙悟空……所以你给一个普通人加了一个猪耳朵、给了他九齿钉耙;给了另外一个普通人毛脸雷公嘴、给了他一根棍子……所以现在有了猪八戒、孙悟空、沙悟净和唐僧,而现在的这四个角色就是我们所讲的对象。 面向对象编程的核心是对象二字,对象是特征与技能的结合体。 基于面向对象编程的思想编写程序,就好比是在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式。 优点:可扩展性强 缺点:编程的复杂度要高于面向过程 来源: https://www.cnblogs.com/Dr-wei/p/11861857.html

Day 6 面向对象初级

a 夏天 提交于 2019-12-03 20:19:22
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。 面向过程编程(Procedural Programming) Procedural programming uses a list of instructions to tell the computer what to do step-by-step. 面向过程编程依赖 - 你猜到了- procedures,一个procedure包含一组要被进行计算的步骤, 面向过程又被称为top-down languages, 就是程序从上到下一步步执行,一步步从上到下,从头到尾的解决问题 。基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个小问题或子过程,这些子过程再执行的过程再继续分解直到小问题足够简单到可以在一个小步骤范围内解决。 while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘使用空间 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 内存占用 >

面向对象编程

匿名 (未验证) 提交于 2019-12-03 00:40:02
  何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦。而这种茫然,其实就是对这两大编程思想的迷糊之处。本文通过学生到校报道注册的实例,阐述了面向过程和面向对象两大思想。希望能对你的学习和工作有所帮助。 一、面向过程   首先我们来认识下,什么是面向过程?如果咬文嚼字的话可以这样来理解,面向过程就是面向解决问题的过程进行编程。仔细思考一下,我们在学习和工作中,当我们去实现某项功能或完成某项任务时,是不是会不自觉的按部就班的罗列出我们要做的事情?(如果没有,建议以后试着步骤化解决问题)。而当我们按着我们罗列的步骤去解决问题时,实质上就是按照面向过程的思想去解决问题。我们罗列的步骤就是过程,按照步骤解决问题就是面向过程。   传统的面向过程的编程思想总结起来就八个字―― 自顶向下,逐步细化 !实现步骤如下: 将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程); 依次逐步完成这些步骤,如果某一步的难度较大,又可以将该步骤再次细化为若干个子步骤,以此类推,一直到结束得到想要的结果; 程序的主体是函数,一个函数就是一个封装起来的模块,可以实现一定的功能,各个子步骤往往就是通过各个函数来完成的,从而实现代码的重用和模块化编程! 案例

JavaScript——面向对象编程

ⅰ亾dé卋堺 提交于 2019-12-02 16:49:10
什么是面向对象? 面向对象编程(Object Oriented Programming,OOP编程)是一种计算机编程架构,它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。 抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征 面向对象的目的 重用性: 针对相同功能可以重复地使用程序。 灵活性: 针对差异性的功能做出调整与适配。 扩展性: 针对功能的变化做出添加或删除的改进。 面向对象的特性 封装性: 封装是一种信息隐蔽技术,使得用户只能见到对象的外特性,而对象的内特性对用户是隐蔽的。封装的目的在于把对象的设计者和对象的使用者分开,使用者不必知晓行为实现的细节,子须用设计者提供的接口来访问该对象。 继承性: 复用一些原有的功能,同时可修改和扩充。 多态性: 对象根据所接收的信息而做出动作。同一信息为不同的对象接受时可产生完全不同的行动。 面向对象的组成 属性(property): 描述一种状态 方法(methods): 描述一种行为 程序中: 变量就是属性,函数就是方法 创建面向对象程序 在面向对象编程中,是通过“类”来创建对象的,类相当于模具。根据传递的数据来创建对选哪个,并且可以重复的创建对象。 在ES6之前的JavaScript版本中,是没有类的概念的,不过可以利用构造函数来代替类进行创建对象。

什么是面向对象编程?面向对象和面向过程有什么区别?

纵饮孤独 提交于 2019-12-02 12:45:55
面向对象 面向对象的程序设计 (Object-Oriented Programming,简记为OOP),是当下最流行的程序设计方式之一。在面向对象的设计思想中,将程序视为多个对象共同协作的结果。程序被划分为多个子模块,再由多个对象完成各自模块最终实现程序的功能。 我们来看一个例子(部分代码): 班级要举办元旦晚会演出,有三名同学报名了歌舞表演环节,分别是唱歌的小明、唱歌的小李和跳舞的小红。 public static void main ( String [ ] args ) { //创建对象 People 小明 = new People ( ) ; People 小李 = new People ( ) ; People 小红 = new People ( ) ; //对象完成任务 小明 . sing ( ) ; 小李 . sing ( ) ; 小红 . dance ( ) ; } 如果你是第一次接触java,也许会对这部分代码存有一些疑问,new是啥?怎么还有中文?我们暂时先不管这些,本文目的是带大家认识接触面向对象,至于java的细节和面向对象的特性将在其他文中介绍。 运行结果: 小明唱了一首歌,真好听! 小李唱了一首歌,真好听! 小红跳了一支舞,真好看! 在示例中,歌舞环节由三个对象(小明、小李和小红),每个对象实现各自的模块(小明唱歌、小李唱歌、小红跳舞)

JS面向对象编程

夙愿已清 提交于 2019-12-02 03:02:07
JavaScript 面向对象编程 面向对象介绍 什么是对象 Everything is object (万物皆对象) 对象到底是什么,我们可以从两次层次来理解。 (1) 对象是单个事物的抽象。 一本书、一辆汽车、一个人都可以是对象,一个数据库、一张网页、一个与远程服务器的连接也可以是对象。当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。 (2) 对象是一个容器,封装了属性(property)和方法(method)。 属性是对象的状态,方法是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,使用“属性”记录具体是那一种动物,使用“方法”表示动物的某种行为(奔跑、捕猎、休息等等)。 在实际开发中,对象是一个抽象的概念,可以将其简单理解为: 数据集或功能集 。 ECMAScript-262 把对象定义为: 无序属性的集合,其属性可以包含基本值、对象或者函数 。 严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。 提示:每个对象都是基于一个引用类型创建的,这些类型可以是系统内置的原生类型,也可以是开发人员自定义的类型。 什么是面向对象 面向对象不是新的东西,它只是过程式代码的一种高度封装,目的在于提高代码的开发效率和可维 护性。 面向对象编程 ——

Day6 - Python基础6 面向对象编程

╄→гoц情女王★ 提交于 2019-12-02 00:01:11
引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢? 你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色 1 def person(name,age,sex,job): 2 data = { 3 'name':name, 4 'age':age, 5 'sex':sex, 6 'job':job 7 } 8 9 return data 10 11 def dog(name,dog_type): 12 data = { 13 'name':name, 14 'type':dog_type 15 } 16 return data View Code 上面两个方法相当于造了两个模子,游戏开始,你得生成一个人和狗的实际对象吧,怎么生成呢? 1 d1 = dog("李磊","京巴") 2 3 p1 = person("严帅",36,"F","运维") 4 5 p2 = person("林海峰",27,"F","Teacher") View Code 两个角色对象生成了,狗和人还有不同的功能呀,狗会咬人,人会打狗,对不对? 怎么实现呢,。。想到了, 可以每个功能再写一个函数,想执行哪个功能,直接 调用

一、初见面向对象编程

本小妞迷上赌 提交于 2019-12-01 20:24:01
  对于习惯使用C和稍微接触过C++的我来说,刚开始学习Java,并没有感觉到有多么陌生,反而我是觉得面向对象编程(OOP)是多么的美妙,Java的语法是多么的清晰和简洁。   好了,不罗嗦了,上知识点。   首先介绍Java。   Java衍生于C++,底层为C\C++所写(类似于python和C),Java从C\C++语言继承了许多成份,但Java 语法是C++ 语法的一个“ 纯净” 版本,这里没有头文件、指针运算(甚至指针语法)、 结构、联合、操作符重载、虚基类等特性,增加了垃圾回收器功能、泛型编程等特性。   Java“白皮书”的关键术语,其设计者归结为:①简单性 ②面向对象 ③分布式 ④健壮性 ⑤安全性 ⑥体系结构中立 ⑦可移植性 ⑧解释型 ⑨高性能 ⑩多线程 ⑪动态性。   Java两种核心机制: Java虚拟机 (JVM)和 垃圾收集机制 。   简单说一下JVM:JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。我们用java语言编写的文件为.java文件,经IDE或dos窗口编译后为.class文件,.class为可执行文件,但.class文件不会直接与你的设备的操作系统交互,而是经JVM处理再交与实际操作系统。因此可以做到“一次编译,到处运行”,即为多平台性。   再来说 对象。一直在说面向对象编程,那何为对象