`

OOP思想应该怎样来理解?

阅读更多
来自摘星奇缘 写道
http://blog.csdn.net/zyyr365/archive/2009/07/07/4328536.aspx

 它强调对象的“抽象”、“封装”、“继承”、“多态”。

  OOP思想浅谈 收藏
07年11月27号在校内举办了第一次技术讲座,主题是Java now and future.和以往的同主题的讲座不同,我在讲座里面着重讲了一下我对OOP思想的理解并对比了Java和C++的区别,这也是很多编程爱好者所津津乐道的话题,至于大家喜欢哪种编程语言我个人觉得主要决定于自己的性格,当初喜欢Java也是因为其跨平台的特点,和外向兴趣广泛的我一样,能让生活充满更多的乐趣和颜色。

    下面浅谈下我对OOP思想的理解,OOP思想中很重要的有五点,类,对象,还有面向对象的三大特征:继承,多态和封装。

    类:对现实世界事物的抽象表示,包括事物的状态信息(成员变量)和行为信息(成员方法)。我们要让我们的计算机程序设计更有意思,也更有逻辑性,则我们的程序中对事物的描叙就必须符合真实情况,同时符合人类的思维习惯。因此,我们如果在计算中要描叙人这个事物,也是一类事物,我们就必须把该事物的所有特点包含进来,用成员变量描叙人的基本属性,如:身高,体重,年龄,性别等。这样就可以描叙一个“静态”的人了,所谓静态的意思也就是该人并不参与任何社会活动,没有任何行为。但是这样并不符合现实意义,那样我们必须为人添上行为,让他参加社会活动有自己的行为。所以我们需要用成员方法来描叙人的活动,如:吃饭,洗澡,睡觉等。

    对象:对抽象事物的具体表示,使其具有自身的特点。类好比一个大的集合,里面的元素都有共同的特点,但是比较每个元素又可以发现每个有其自身的特点,对象就是这样,它是一个类的具体化,也是实例化,类是泛指,而对象是特指。虽然人都有身高,体重,年龄,同时有行为有吃饭,洗澡,睡觉等,但是当具体到某个人的时候就会有不同,例如:老人和小孩的年龄就有不同,所以,从类到对象是我们把现实事物进行计算机描叙的过程,同时也是一个从抽象到具体的过程,这很符合我们的真实思维逻辑。

    下面浅谈一下面向对象的三大特征的基本思想。

    多态:用一种解决方案来解决对一类问题,对于不同的事物解决途径和结果不同。在C++中实现多态性有三种方法,分别是:虚函数,函数重载和运算符重载。这三种方法大家都可以看到我们解决问题的初衷是一样的,都是利用同名函数,同名的运算符号,这抽象出来也就是解决问题的方法,但是对于不同的事物的反应却是不同的,例如:当用一个getPadNumber()方法来得到普通自行车和双人自行车的坐垫数量的时候,返回的结果是一个和两个,这就是具体的事物返回的结果不同。

    继承:让抽象出来的事物具有本应该具有的联系。我们能用类来描叙一个抽象的事物,同时能用对象来描叙具体的事物,但是这些事物都是独立的,彼此之间没有应该有的联系,这样的孤立设计并不符合现实逻辑,让事物之间的联系得到描叙,我们就需要继承,例如:发明自行车的人并不是一开始就发明了多人自行车,这些都是从双轮自行车演变和发展而来,但是他们都有共同的特点,有轮子,有车架子,等等。让我们用继承的关系把这两个现实的抽象联系起来,这样我们就能设计出不孤立的类,而是和其他类有联系的类。

    封装:让抽象的事物保护自身的状态,防止非其他事物对其进行错误的状态改变操作。我们抽象完一个事物后,可能在特定的条件下,其本身的状态需要改变,但是这个改变并允许其他的事物来进行,这样的改变只允许这个事物认同的操作域来进行,可以是该事物本身,也可以是它信任的其他事物。这样我们就能对我们抽象完的每个事物进行自身数据的保护

分享到:
评论

相关推荐

    JavaOOP思想总结

    Java面向对象编程(Object-Oriented Programming,简称OOP)是Java编程的核心,它是一种将现实世界中的...通过理解并熟练运用这些Java OOP概念,开发者能够编写出结构清晰、易于维护的代码,提高软件开发效率和质量。

    冒号课堂:编程范式与OOP思想 PDF

    《冒号课堂:编程范式与OOP思想》这本书可能是为了帮助初学者和有经验的开发者更好地理解编程背后的理论,从而提升编程能力。通过学习这本书,读者可以深入了解编程的内在机制,为解决复杂问题打下坚实基础。而文件...

    冒号课堂——编程范式与OOP思想

    冒号课堂的“编程范式与OOP思想”课程深入浅出地讲解了这些概念,帮助学习者理解不同的编程范式,特别是掌握OOP的核心原则和实践技巧。通过阅读提供的PDF文件,你可以获得丰富的理论知识和实际应用示例,进一步提升...

    VFP OOP思想与范例

    VFP(Visual FoxPro)是一种曾经广泛使用的数据库开发工具,它...总之,《VFP OOP思想与范例》提供了深入理解和实践VFP面向对象编程的机会,无论你是初学者还是有经验的开发者,都能从中获益匪浅,提升自己的技能水平。

    Java OOP编程思想学习之我见

    ### Java OOP编程思想学习之我见 在深入探讨Java面向对象编程(OOP)之前,我们首先要理解OOP的基本概念及其与过程式编程的区别。Java作为一种强大的编程语言,其设计初衷之一就是全面拥抱OOP理念,这不仅体现在...

    C#影院售票系统,oop思想

    《C#影院售票系统——基于OOP思想的实现与解析》 C#语言在软件开发领域有着广泛的应用,尤其在创建高效、稳定的桌面应用程序方面表现出色。本篇将深入探讨一个基于C#实现的影院售票系统,该系统充分体现了面向对象...

    javascript的oop思想以及单例,工厂,观察者模式简例

    本篇文章将深入探讨JavaScript的OOP思想,并通过实际代码示例介绍单例模式、工厂模式和观察者模式。 首先,面向对象编程的核心概念是类和对象。在JavaScript中,虽然没有传统的类定义,但可以通过构造函数来模拟类...

    STM32F407+OOP+FSM设计思想

    通过分析这些文件,可以深入理解如何在实际项目中运用OOP和FSM设计思想,以及如何利用`attribute((section))`优化内存布局。这为学习和理解STM32F407的开发提供了宝贵的实践案例,对于提升嵌入式开发技能具有重要...

    《冒号课堂——编程范式与OOP思想》电子书.txt

    总之,《冒号课堂——编程范式与OOP思想》这本书深入浅出地介绍了编程范式尤其是OOP的相关理论和实践知识,对于想要深入学习OOP以及提高编程技能的读者来说是一本非常有价值的参考书。通过学习本书的内容,读者不仅...

    Java,C#OOP思想word文档总结

    Java和C#作为两种流行的面向对象语言,它们在OOP思想的应用上有很多相似之处,同时也各有特点。 1. **类(Class)**: - 类是对一组具有共同属性和行为的对象的描述,是自定义的复杂数据类型。在Java和C#中,类的...

    C++(OOP)教材

    面向对象程序设计(OOP)的基本思想是将程序设计中的数据和操作数据的方法结合在一起,形成对象。这种设计模式源自于对传统结构化程序设计(如Pascal和C)的反思。结构化编程强调自顶向下、分层设计,通过逐步细化来...

    新闻快客(纯OOP编写)

    这款应用的创建旨在帮助学员深入理解和实践OOP思想。 首先,我们要理解什么是面向对象编程。OOP的核心概念是将现实世界中的实体抽象为类,类定义了对象的状态(属性)和行为(方法)。在C#中,我们可以通过`class`...

    java、c#面向对象OOP

    Java和C#是两种广泛应用的面向对象编程语言,它们在设计上都充分体现了OOP的思想。 1. **类与对象**:在OOP中,类是对象的模板或蓝图,定义了一组属性(数据成员)和方法(成员函数)。对象是类的实例,拥有类定义...

    绝对经典 用C实现OOP

    这篇文档详细阐述了如何在C语言中构建面向对象的程序设计模式,以帮助开发者更深入地理解OOP的核心思想。 面向对象编程是一种流行的编程范式,它以“对象”为中心,每个对象都包含数据(属性)和操作这些数据的方法...

    OOP.rar_OOP java_java oop_oop

    总之,"OOP.rar"压缩包中的内容涵盖了面向对象编程的核心思想和Java中的实现方式,通过学习和分析其中的代码示例,开发者可以深化对OOP的理解,提升编程技能。无论是初学者还是有经验的程序员,这些资源都是宝贵的...

    学员信息管理系统(OOP版)

    【学员信息管理系统(OOP版)】是一个基于面向对象编程(OOP)理念设计和实现的应用程序,旨在帮助教育机构...对于学习Java OOP的学员来说,这是一个极好的实践案例,可以帮助他们理解并掌握OOP思想,提升编程能力。

    C++编程思想 了解OOP设计方法与思想

    C++编程思想是软件开发领域中的重要基石,它主要围绕着面向对象编程(Object-Oriented Programming, OOP)的设计方法和理念展开。C++语言是C语言的增强版,引入了类、对象、继承、封装、多态等核心概念,使得程序...

Global site tag (gtag.js) - Google Analytics