面向对象编程方法的要点
1 面向对象与面向过程的本质区别
从思想来讲,面向过程强调的是做了一件什么事情,强调这个过程以及做的方法;而面向对象强调的是对象,也就是谁做了一件事情,这件事情是此对象的一个属性,使用者只需要知道这个对象可以做这个事情,不需要知道具体它是怎么样一个过程。
2 三要素
(1)封装:把过程和数据包围起来,对数据的访问只能通过已定义的接口。
(2)继承:一种联结类的层次模型,允许、鼓励类重用,提供了一种明确表述共性的方法。
(3)多态:允许不同类的对象对同一消息作出响应。
3 五基本原则
(1)单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。强调低耦合、高内聚,以提高内聚性来减少引起变化的原因。
(2)开放封闭原则(Open-Closed principle):对扩展开放,对修改封闭的。
(3)Liskov替换原则(Liskov-Substituion Principle):子类必须能够替换其基类,也就是基类具有的方法和数据子类都有。这样才能保证系统在运行期内识别子类,这是保证继承复用的基础。
(4)依赖倒置原则(Dependecy-Inversion Principle):依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。具体实现来说要求分离接口和实现:在依赖之间定义一个抽象的接口使得高层模块调用接口,而底层模块实现接口的定义,以此来有效控制耦合关系,达到依赖于抽象的设计目标。
(5)接口隔离原则(Interface-Segregation Principle):使用多个小的专门的接口,而不要使用一个大的总接口。
面向对象的主线:
Java类及类的成员:属性、方法、构造器(高频);代码块、内部类(低频) (类是由对象派生的)
面向对象的三大特征:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)、(抽象性)
其它关键字:this、super、static、final、abstract、interface、package、import等
面向过程(ProcedureOrientedProgramming)与面向对象(ObjectOriented Programming)的理解
二者都是一种思想,
面向对象是相对于面向过程而言的。
面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。而且更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。
1.面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
2.面向对象:强调具备功能得对象,以类/对象为最小单位,考虑谁来做。
1.面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
2.面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
面向对象的思想概述
类(Class)和对象(Object)是面向对象的核心概念。
类是对一类事物的描述,是抽象的、概念上的定义
对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。
程序员从面向过程的执行者转化成了面向对象的指挥者
面向对象分析方法分析问题的思路和步骤:
根据问题需要,选择问题所针对的现实世界中的实体。
从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
类 :对一类事物的描述,是抽象的、概念上的定义
对象:是实际存在的该类事物的每个个体(实实在在的个体),因而也称为实例(instance)。
以人为例子: 类 = 抽象概念的人 ; 对象 = 实实在在的某个人面向对象程序设计的重点是类的设计
设计类,就是设计类的成员。
属性= 成员变量 = Field = 域、字段
方法= 成员方法 = Method =函数
创建类的对象 = 类的实例化 = 实例化类
面向对象的两个要素:类和对象
二者关系:对象是由类派生(new)出来的、对象是类的实例化
类的结构:属性和方法
现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。
同理,Java代码世界是由诸多个不同功能的类构成的。
现实生物世界中的细胞又是由什么构成的呢?细胞核、细胞质、…那么,Java中用类class来描述事物也是如此。常见的类的成员有:
属性:对应类中的成员变量
行为:对应类中的成员方法
类和对象的创建和执行操作有那三步(落地实现的规则)?
①创建类,设计类的成员
②类的实例化(创建类的对象)
③通过“对象.属性”或 “对象.方法”调用对象的结构
几个常用的概念
我是这么理解面向对象
为什么?你已经把编程的思想掌握了,再去学其他的,无非是学习一种新的语法格式了。 我在这里并不是和你讨论怎么去用C++或JAVA,也不是和你讨论怎么去学他们,我要和你讨论的是怎么去理解面向对象。其中主要会涉及到“类、对象、 继承、属性、方法、静态、重载、隐藏、重构、声明、定义、初始化、赋值等”其中有...
面向对象程序?
面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术[1] 发展到一定阶段后的产物。面向对象编程(Object Oriented Programming,OOP,面向...
什么是面向对象编程
前言:面向对象程序设计(Object-Oriented Programming,以下简称OOP)是一种起源于六十年代的Simula语言,发展已经将近三十年的程序设计思想。其自身理论已经十分完善,并被多种面向对象程序设计语言(Object-Oriented Programming Language,以下简称OOPL)实现。如果把Unix系统看成是国外在系统软件方面的文化根基,...
编程思想基础:面向对象和面向过程的区别
2、面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。三、功能不同 1、面向对象:向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。2、面向过程...
java面向对象的三大特征
封装、继承和多态。Java作为一门广泛应用于软件开发的编程语言,具有强大的面向对象特性。Java中面向对象的三大特征,包括封装、继承和多态。封装:封装是面向对象编程的基本原则之一。它通过将数据和相关操作(方法)组合在一起,形成一个称为类的实体。类将数据和操作封装在一起,对外提供接口来访问和操作...
如何理解Java面向对象?
1、什么是对象?首先要说明一点,对象不是java的,事实上他只是一种概念,一种用于解决问题的程序设计的思想方法。要理解对象就必须得要和面向对象结合起来。在面向对象中把某一类事物所共有的属性和行为抽象出来之后就形成了一个类。而类的一个实际的例子就叫做对象。所以从上可以看出类和对象之间存在着...
程序员需要了解的10个面向对象设计?
在软件领域永远不变的是“变化”,所以把您认为或怀疑将来要被修改的代码封装起来。这种面向对象设计模式的优点是:易于测试和维护恰当封装的代码。如果您在用编程,那么请遵守以下原则:变量和方法的访问权限默认设置为私有,并且逐步放开它们的访问权限,例如从“private”到“protected”、“notpublic”。中...
面向对象编程的基本特征是什么?
面向对象技术是对现实生活的抽象,你可以用生活中的经验去思考程序设计的逻辑。 3、多态性(Polymorphism) 讨论多态之前先要明白什么是“虚拟”(Virtual)。C++\/MFC就是用虚拟这种方式实现多态的。为什么“虚拟”这个概念?看下边的例子: Class Cincect \/\/昆虫类 { private: int m_foot; \/\/脚的数量 .....
如何学习面向对象编程
一般的,单纯从面向对象编程这方面来说,我们需要先理解对象的概念,以及为什么我们要使用面向对象编程,以及跟传统过程化编程之间的优劣。对象(object),即将一组数据与这组数据有关操作组装在一起,形成一个实体,这个实体就是对象。用通俗的话来讲,一个人也可以算是一个对象,这个对象可能包含一些属性...
如何理解面向对象编程
是的,面向对象的编程语言最大的特色就是可以编写自己所需的数据类型,以更好的解决问题。我想我必须要帮你搞清楚“类,对象,属性,方法它们之间的关 系”!就像我前面所说的,人这个“类”是什么也做不了的,因为“人类”只是一个抽象的概念,它不是实实在在的“东西”,而这个“东西”就是所谓的对象。只 有人这...
辟衬瑞秦: 面向对象的编程方法具有四个基本特征:1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.比如,我们要...
孟连傣族拉祜族佤族自治县19326443411: 什么是面向对象编程? - ?
辟衬瑞秦: 它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中.面向对象的编程语言使得复杂的工作条理清晰、编写容易.说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言.对象并不与传统程序设计和编程...
孟连傣族拉祜族佤族自治县19326443411: c++面向对象编程必须要注意哪几点? - ?
辟衬瑞秦: 一、宏观:将C++视为C、面向对象C++、模版C++、STL C++组成的语言联邦.任何人不得添加任何东西到STL命名空间不要轻易忽略编译器的警告一定程度的使用测试驱动的开发方法软件实体(类、模块、函数)应该是可扩展的,但是...
孟连傣族拉祜族佤族自治县19326443411: 面向对象程序设计的优点是什么? - ?
辟衬瑞秦: 1、维护简单 面向对象程序设计的一个特征就是模块化.实体可以被表示为类以及同一名字空间中具有相同功能的类,可以在名字空间中添加一个类而不影响该名字空间的其他成员.这种特征为程序的维护提供了便捷性.2、可扩充性 如果有一...
孟连傣族拉祜族佤族自治县19326443411: 在JAVA中什么是面向对象的程序设计方法?有哪些主要特征? - ?
辟衬瑞秦: java中的应该是指java面向对象编程,不是面向对象方法.就是说你在写程序的时候要考虑你的程序是由哪些实体组成的(这些实体相互协作,共同提供你的程序的功能),然后运用类将这些实体分组,利用继承和多态表达不同类的实体的共性和特性.你去买本好点的书看看就明白了,几句话、几百字说不清的.......
孟连傣族拉祜族佤族自治县19326443411: 什么是面向对象编程方法??
辟衬瑞秦: 面向对象的程序设计(Object-Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者.它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中.面向对象的编程语言使得复杂的工作条理清晰、编写容易.说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言.对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟.除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多.
孟连傣族拉祜族佤族自治县19326443411: 什么是面向对象程序编程 - ?
辟衬瑞秦: 面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术[1]发展到一定阶段后的产物.早期的计算机编程是基于面向过程的方法,例如实现算术运算1+1+2 = 4,通过设计一个算法就可以解决当时的问题.随着计算机技术的不断提高,...
孟连傣族拉祜族佤族自治县19326443411: 面向对象编程的核心知识有哪些 - ?
辟衬瑞秦: Java技术 Asp.net VB编程 Asp编程 C++/VC Delphi 方案一 Basic语言 & Visual Basic 优点 (1)Basic 简单易学,很容易上手. (2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序. (3)众多的控件让编程变得象垒积木...
孟连傣族拉祜族佤族自治县19326443411: 面向对象编程都有哪些知识 - ?
辟衬瑞秦: 属性和方法就出来了!).每个人都有身高!人之所以能区别于其它类型的动物,同样的属性是,都是废物.面向过程的语言与面相对象的语言的区别就在于!面向对象编程为我们提供了解决方案.我自己的理解:我今天看到一个塑料脸盆 ...
孟连傣族拉祜族佤族自治县19326443411: 面向对象编程的基本概念? - ?
辟衬瑞秦: 1.面向对象的程序设计 面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递.通过这些概念面向对象的思想得到了具体的体现. 1)对象 对象是运行期的基本实体,它是一个封装了数据和...