`

平时所说的面向对象编程OOP是什么

阅读更多
话说现在很多面试要求中都写着要有oop的思想。思想是指真正在处理
编程问题时的思路,这个只有给出实际的问题才能被证明你到底有没有面向对象的思想。
这里我只想说下理论,最近在看书,在想一个问题,如果面试中面试官只是让你谈谈对
面向对象的认识。你能说多少。
书中的说法大概能罗列下来的这么多,自己鹦鹉学舌般抄录下来,略加自己的想法。
1.万物皆对象
2.程序是对象的集合,他们通过发送消息(方法调用)来彼此通信
3.可以通过包含现有对象来创建新对象
4.每个对象都是某个类的实例,即对象都拥有类型
5.某一特定类型的所有对象都可以接受相同的消息通信
------------------------------------------
java中更具体点面向对象编程有哪些东西?
1.每个对象都有一个接口。(这里接口是个抽象的概念)
   接口:某一特定对象所能发出的请求。
           不能发送任何请求的对象是没有接口的。换句话来说,不跟任何人交往的人肯
           定是个孤独封闭的人一样。这种人不受欢迎。那么这种对象在程序中就是无效
           的对象。
2.每个对象都提供服务。
   在程序中,将所有对象看作是服务提供者,而程序本身是向用户提供服务的。程序通过
   调用其他对象提供的服务来实现目的。在设计程序时将对象看作是服务提供者,是一种
   简化,有利于提高对象的内聚性,当其他人试图理解或重用你的代码时,如果他们看出
   了这个对象所提供的服务的价值,就会在调整对象以 适应他们的程序设计的过程中变的
   非常简单。
3.对对象设立访问权限。
    对象中的有些细节是不必被调用者所知道的,需要将它们隐藏起来。同时也方便该对象
    的类的设计者修改实现细节,达到接口和实现清晰的分离。
4.复用具体实现
    创建新类的时候可以组合任意数量,任意类型的其他对象,以实现新的类中想要完成的
    功能的方式组合。这种代码复用被称为组合,也是面向对象程序设计语言中最了不起的
    特性之一。
5.继承
     新的类型通过继承现有类型就能达到创建一个新类的功能。新类能具有相同的接口,但
     是新类可以添加新的方法,提供更多的接口。继承的接口中,通过重写(覆盖)方法,可
     以达到在相同的接口中,做不同的事情的效果。
6.多态
     这个有两个重要的概念,向上转型和动态绑定。向上转型保证代码中的类型是当作基类
     来对待的,这样就不会依赖特定类型。动态绑定是运行时才确定被调用的方法的方法体
     地址,这个地址是根据对象中存储的信息计算而得到的,所以每一个对象都有不同的行为
     表现。当向这个对象发送消息时,该对象就能知道这条消息应该做什么。这样一个基类
     看起来有不同的行为表现。就被称为多态。多态不就是多种形态吗。
6.容器
     一般的oop语言里都有一组容器,他们作为开发包的一部分。这种新的对象持有对其他
  对象的引用。对编程有点基础的话,很快意识到数组不就可以吗!数组只是容器中的一个
  小部分而已。还有其他类型的容器。设计这么多的容器完全是为了满足我们解决问题的各
  种需要。  虽然我们最终只要一种持有 对象的序列而已。
7.参数化类型(泛型)
8.对象的创建和生命周期
9.异常处理


总之,面向对象的核心就是多态,抽象,封装,复用(包括继承和组合),接口等东西的综合
体,我们平时遇到的java框架中,有大量的对象。他们就是面向对象编程的最好实践。如果
自己有兴趣完全可以去看看一些开源的框架。
分享到:
评论

相关推荐

    [BUPT]面向对象程序设计C++ - 平时作业 + 期末大作业 整合资源包(计算机学院 - 大二下).zip

    本资源包是北京邮电大学计算机学院大二下学期面向对象程序设计C++课程的综合学习资料,包含平时作业和期末大作业的所有内容。面向对象编程是现代软件开发中的核心概念,C++作为一门强大的系统级编程语言,是学习这一...

    2023年面向对象程序设计的基本思想资料.doc

    面向对象程序设计是软件开发领域中的一种编程范式,它强调使用对象和类来描述问题域,并使用继承、多态和封装等机制来实现软件系统的设计和实现。以下是对该文件的详细解读: 一、教学目的 本节课的教学目的包括:...

    面向对象技术-1

    面向对象方法学主要包括面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)三个阶段。 - **认知规律**:在面向对象方法学中,认知规律是指通过观察、理解和模拟现实世界中的实体来构建软件系统的规律...

    Java语言与面向对象程序设计第01讲

    【Java语言与面向对象程序设计】是一门针对初学者的课程,旨在教授Java语言的基础以及面向对象编程的核心概念。这门课程分为五个部分,详细涵盖了从面向对象软件开发概述到高级编程的各个方面。 第一部分主要介绍...

    学生学籍管理系统 基本掌握面向对象程序设计的基本思路和方法

    面向对象程序设计(Object-Oriented Programming, OOP)是现代软件开发中一种重要的编程范式,它强调将数据和处理这些数据的方法封装在一起形成对象,并通过类来描述对象的属性和行为。本系统基于面向对象的思想设计...

    VisualC面向对象程序设计.pptx

    2. **面向对象编程(OOP)原则**:包括封装、继承和多态。封装使数据和函数紧密结合,保护数据不被非法访问;继承允许创建新的类,基于现有类的特性进行扩展;多态则允许使用一个接口处理多种类型的对象。 3. **MFC...

    2023年沈阳理工大学面向对象程序设计.doc

    随着信息时代的不断进步,软件开发行业对于专业人才的需求日益增长,而面向对象程序设计(Object-Oriented Programming,简称OOP)成为了软件开发领域的核心技术之一。沈阳理工大学作为一所培养高级工程技术人才的...

    C++面向对象程序设计第01章.ppt

    面向过程编程强调的是通过过程(函数)来组织代码,而面向对象编程则将重点转移到对象和它们之间的交互。 学习C++的面向对象程序设计,需要掌握以下几个方面: 1. 类与对象:理解类是对象的蓝图,定义了对象的属性...

    java面向对象和自己平时的积累

    面向对象是Java编程的核心概念,它是现代软件开发中的一种重要思想。李刚老师的《疯狂java讲义》深入浅出地讲解了这一主题,对于初学者来说,是一本...通过不断练习和解决问题,你的Java面向对象编程技能将会日益精进。

    西北工业大学软件学院面向对象编程理论课大作业

    面向对象编程(Object-Oriented Programming, OOP)是现代软件开发中的核心编程范式,它通过封装、继承和多态等概念来构造复杂系统,提高代码的可读性和可维护性。 【描述】"含需求分析、类图、代码,得到平时分九...

    JAVA面向对象编程入门课程标准.doc

    - **面向对象编程(OOP)**: Java的核心特性之一,通过类和对象的概念来组织代码。 - **课程目的**: 掌握Java这门高级面向对象编程语言,理解面向对象编程的基本原理,并具备基本的编程能力。 #### 二、课程性质与...

    新工科背景下面向对象程序设计课程教学改革.pdf

    面向对象程序设计(Object-Oriented Programming,OOP)课程是计算机科学与技术专业中至关重要的一环,尤其在新工科背景下,其教学改革显得尤为关键。新工科旨在培养具备创新思维和工程实践能力的人才,以适应新兴...

    C++面向对象课程设计说明书-同学通讯录管理系统.doc

    学生可以参考指定的C++面向对象编程教材,如《C++面向对象程序设计》和《C++语言程序设计(第三版)》,以深化理解和提高编程技能。 在这个设计过程中,学生将有机会深入理解C++的类、对象、构造函数、析构函数、...

    面向对象技术C++平时作业样本.doc

    在计算机科学领域,面向对象编程(Object-Oriented Programming, OOP)是一种广泛采用的编程范式,它通过封装、继承和多态等核心概念,使得代码更加模块化、可重用且易于维护。C++作为一门强大的系统级编程语言,...

    面向对象技术C++平时作业.doc

    面向对象技术是编程领域中的一个重要概念,它基于类和对象...通过这个作业,学生将深入理解C++中的面向对象编程,包括类的设计、对象的生命周期管理、以及算法实现等概念,这些都是成为专业C++程序员所必需的基础技能。

    一份不错的绪论C++课件

    综上所述,这份C++课件是一份全面的入门教程,涵盖了从基础到高级的C++知识,特别强调了面向对象编程的实际应用,对于大学阶段的学生或自学者来说,是学习C++的理想起点。通过深入学习和实践,学生将能够具备开发...

    oop-js-platzi:@juandc 在 @Platzi 上的 JavaScript 面向对象编程课程

    JavaScript 面向对象编程(OOP)是编程领域中的一个重要概念,特别是在Web开发中,JavaScript作为客户端的主要脚本语言,其OOP能力对于构建复杂、可维护的应用至关重要。@juandc 在 @Platzi 的课程中深入探讨了这个...

    高级语言程序设计-2.rar

    许多高级语言支持面向对象编程(OOP),如Java和C++。OOP以类和对象为核心,强调封装、继承和多态三大特性。理解类的定义、对象的创建、类之间的关系,以及如何利用这些特性来设计和组织代码,是高级语言程序设计的...

    清华大学C++程序设计与训练

    课件部分会详细解释C++的语法特性,包括面向对象编程(OOP)的概念,如类、对象、继承、多态和封装。类是C++中封装数据和行为的基本单位,而继承则是实现代码复用和扩展的重要方式。多态性使得基类指针或引用可以...

    c++基础课件第一讲

    - 面向对象编程(OOP)旨在更直接地模拟现实世界的对象及其相互关系。 - OOP的核心概念包括类(Class)、对象(Object)、继承(Inheritance)和多态(Polymorphism)。 - 通过类的定义,可以封装数据和操作数据...

Global site tag (gtag.js) - Google Analytics