`
gengu
  • 浏览: 86753 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

再次理解下OOP(读书笔记)

    博客分类:
  • java
 
阅读更多

     目前的主流开发领域有两种开发方法,即结构化开发方法和面向对象开发方法,早期的语言C,Basic等都是结构化编程语言。


     结构化程序设计


      结构化程序设计方法主张按照功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模板化等,结构化程序设计首先采用结构化分析方法对系统进行需求分析,然后采用结构化设计方法对系统进行概要设计,详细设计,最后采用结构化编程方法来实现系统。

      因为结构化程序设计方法主张按照把软件系统逐步细分,因此这种方法也叫做面向功能的程序设计或者面向过程的程序设计。

      结构化程序设计里最小的程序单元是函数,每个函数都负责完成一个功能,用于接收一些输入数据,函数对这些输入数据进行处理,处理结束后输出一些数据,整个软件系统由一个一个函数组成,其中程序入口的函数被称为主函数,主函数一次调用其他普通函数,普通函数之间一次调用,从而完成整个系统的功能。


     那么为什么要使用面向对象编程呢?是因为结构化程序设计有两个局限性


     1:设计不够直观,与人类的习惯思维不一直,采用结构化程序设计,开发者需要将客观世界模型分解成一个一个功能,每个功能用以完成一定的数据处理。

     2:适应性差,可扩展性差,由于结构化设计采用自顶向下的设计方式,所以当用户的需求发生改变,或需要修改现有的实现方式都需要自顶向下的修改模块结构,这种方式的维护成本很大。


     面向对象 程序设计


     面向对象是一种更加优秀的程序设计方法,它的基本思想是使用类,对象,继承,封装,消息等基本概念来进行程序设计,它是将现实世界模拟成一个系统,将现实世界中客观存在的事物模拟成系统中的对象,并在系统构造中尽可能的使用人类的自然思维方式,强调直接以现实世界中的食物为中心来思考问题,认识问题,并根据这些食物的本质特点,把他们抽象表示为系统中的类,作为系统的基本构成单元,这使得系统可以直接映射客观世界,并保持客观世界中事物及相互关系的本来面貌。

     开发者从自己使用的角度或认识角度出发来定义类,就是说,我们定义类的目的是希望模拟客观世界的某种事物,并让自己明白这种食物是用来干嘛的,对我们有什么意义,这就是面向对象方式的主要思考方式,因此面向对象程序设计的主要优点是:与人类的思维方式一致,稳定性好,可重用性好,易于开发大型软件产品,可维护性好。


     面向对象编程的主要有三个特征:封装,继承,多态。

     继承 是面向对象实现软件复用的重要手段,当子类继承父类以后,子类作为一种特殊的父类,将直接得到父类的属性和方法。

     封装 只的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能,通过封装可以增加程序良好的复用性。

     多态 是指子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着这个类型的对象在运行时可能表现出不同的行为特征。

     除此之外,抽象也是面向对象的重要特征,抽象就是忽略一个主题中与当前目标无关的那些方面,以便更加充分的注意与当前目标有关的方面,抽象并不是打算了解一个对象的方方面面,它只关注对当前目标相关的那些部分。


    在java中,有一个核心思想那就是:一切都是对象。出了八个基本类型之外,其他的都是对象,不仅仅是事物,它还能表示一个规则一个计划一个事件等等.


分享到:
评论

相关推荐

    Java OOP学习笔记

    Java面向对象编程(Object-Oriented Programming,简称OOP)是Java编程的核心,它通过封装、继承和多态三大特性来构建高效的代码结构。在Java OOP中,封装是首要原则,它允许我们隐藏实现细节,只对外提供必要的接口...

    PHP_OOP面向对象课堂笔记

    PHP_OOP面向对象课堂笔记,最简洁明白易懂的面向对象笔记,欢迎下载!

    C#OOP上课笔记2016109.docx

    这份"2016109"的上课笔记提供了丰富的实例,帮助初学者理解C# OOP的基本概念和应用。以下是对笔记中涉及知识点的详细解析: 1. **循环控制**: - `for`循环在第一个题目中被用来遍历1到100的整数,通过`if`语句...

    韩顺平OOP编程php笔记

    2016韩顺平最新php 面向对象编程笔记全集

    javaoop文档+阅读器

    这份“javaoop文档+阅读器”资料包,旨在帮助你理解和掌握面向对象的思想,通过深入浅出的方式解析Java OOP的关键概念。 首先,让我们了解一下面向对象的基本概念。面向对象编程是一种基于“对象”的编程方式,它将...

    javaoop笔记

    scce 课程javaoop课程整理的笔记。很基础的一些语法格式,概念有助于初学者理解。

    OOP_CSharp

    **OOP(面向对象编程)在C#中的深入理解与应用** C#,全称C Sharp,是由微软公司开发的一种面向对象的编程语言,广泛应用于Windows平台上的软件开发,尤其是在.NET框架下。C#结合了C++的强大功能和Java的简洁性,...

    达内OOP笔记

    **OOP(面向对象编程)**是计算机编程中的一种核心概念,它基于“对象”的理念,将数据和...在"达内OOP笔记"中,还可能包括更多关于设计模式、异常处理、集合框架等方面的内容,这些都是深入理解OOP不可或缺的部分。

    oop面向對象,加深OOP的理解

    oop面向對象學習文件,供大家理解OOP的知識等

    s2 JavaOOP上机作业全部代码

    这些代码示例旨在帮助学生深入理解类、对象、继承、封装、多态等核心OOP概念。 首先,让我们详细探讨一下Java OOP的关键概念: 1. **类与对象**:在Java中,类是创建对象的蓝图,定义了对象的属性和行为。对象是类...

    oop实践

    在实际的软件开发中,OOP是解决复杂问题的有效工具,通过封装、继承和多态等核心原则,可以构建出易于理解和管理的代码结构。 **封装** 是OOP的基础,它将数据和操作数据的方法捆绑在一起,形成一个独立的实体——...

    韩顺平javascript笔记(最全整理 dom编程 oop 基础语法)

    韩顺平老师的JavaScript笔记全面涵盖了基础语法、面向对象编程以及DOM编程,这些都是学习JavaScript时至关重要的知识点。 首先,基础语法是JavaScript学习的基石。包括变量声明(var、let、const)、数据类型(如...

    C++(OOP)教材

    结构化编程强调自顶向下、分层设计,通过逐步细化来构建程序,但它的模块间关系简单,数据和代码分离,导致了数据和过程的独立性,限制了代码的复用性。在结构化编程中,程序员需要针对不同数据类型编写不同的处理...

    清华大学oop第一讲

    总的来说,这门课程不仅教授OOP的基本概念,还注重培养学生的实际编程能力和设计思维,使他们能够阅读和理解采用OOP技术(如继承和多态性)编写的程序,并掌握典型设计模式的使用。通过理论学习与实践项目的结合,...

    Java游戏编程读书笔记

    通过阅读《Java游戏编程读书笔记》这本书,你可以深入了解这些概念并学习如何将它们应用到实际项目中。文档中的内容可能涵盖了Java游戏开发的基本原理、代码示例、最佳实践以及常见问题的解决方案。通过深入学习和...

    PHP OOP入门必读

    本资料集合旨在帮助初学者理解并掌握PHP中的OOP概念。 首先,我们从"PHP5面向对象初步(第一章).pdf"开始,这一章节通常会介绍OOP的基本概念,包括类和对象。类是创建对象的模板,它定义了一组属性和行为。对象则...

    读书笔记_C#_

    在“读书笔记_C#_”这个主题下,我们可以深入探讨C#在开发个人应用,尤其是类似读书笔记或纪念日提醒这类应用时的关键技术。 在C#中,开发此类应用首先需要理解基本的编程概念,如变量、控制流(if-else, switch-...

    oop(面向对象程序设计)考试题

    在浙江大学的OOP考试中,考生通常需要对这些核心概念有深入理解,并能运用到实际问题的解决中。这份"浙江大学OOP(面向对象程序设计)历年考题(英文版)"包含了历年的考试题目及答案,是学习和备考的重要资源。 ...

    编程范式与OOP思想

    在OOP中,一个优秀的程序员更注重对“内功”的修炼,即对OOP思想的理解和应用,而不是单纯依赖于某种特定语言的语法特性。 在实践中,OOP可以提高软件的可复用性、可维护性和可扩展性,它在大型软件项目的开发中尤...

    OOP_CODE详细代码

    在OOP_CODE详细代码中,我们可以看到一个针对初学者的教程,帮助他们理解和掌握面向对象编程的核心概念。 首先,我们要理解OOP的四个基本概念:封装、继承、多态和抽象。 1. 封装:封装是将数据和方法捆绑在一起的...

Global site tag (gtag.js) - Google Analytics