`
Spring_g
  • 浏览: 64078 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用通俗易懂的语言来理解java面向对象的思想

    博客分类:
  • java
阅读更多
    大家都知道,java是面向对象的编程,掌握面向对象的编程思想是掌握java编程语言的核心,但是很多人在面向对象方面都存在或多或少的误区,有的是刚学完C语言,受面向过程思想干扰,在刚刚接触java的时候措手不及,感觉无从下手,我想通过自己对java的学习,用通俗易懂的语言,来谈谈自己对面向对象的理解,希望可以帮助大家来理解面向对象的编程思想。
     理解面向对象的编程的思想,首先我想给大家一个非常熟悉的一个例子,让大家对面向对象和面向过程有一个大致的理解,想必大家都知道那个“老张开车去东北”的例子,用面向对象的思路理解:你首先得造一个车,然后包括挂档,每一步都得自己一步一步的线性去完成;用面向对象的思路来理解的话,直接调个车,找个司机,然后告诉他去东北,然后其他的就不用你管了,你可能隐约的感觉到,面向对象的思路似乎省了不少事。
   理解面向对象的思想,首先我们需要知道在理解面向对象时需要知道的几个名词:对象,类,还有类中一些成员变量和成员方法,下面我们一一来进行分析:
对象:
    对象是人们要进行研究的任何事物,从简单的一个小分子到复杂的汽车飞机都可以看做对象,只是有时对象要根据人们研究问题的需要来确定,对象不一定是具体的,有时也可以表示抽象的规则或计划。
类:
   类在java中是具有相同或相似性质的对象的抽象体现形式。也就是说,类的实例化就是创建对象的过程类的实例就是对象。
   其实类的创建在一定程度上是符合人的思维的,我想借一个例子来说明这个问题,同时熟悉一下类的大致结构:
我们创建一个People类:
package com.guang.email;

public class People {
	private String head;
	private String arms;
	private String legs;
	
   public People() { 
	   
   }

	public void hit(){
		System.out.println("hit you");
	}
    public void eat(){
    	System.out.println("我要吃饭");
    }

}

    首先我们看一下类结构,有成员变量,成员方法,还有构造方法,对于结构这里就不多讲了,有很多同学不明白构造方法是干什么的,其实,构造方法是在实例化对象时执行的方法,一个类可以有很多构造方法,根据你创建对象时参数的不同来调用不同的构造方法,这就是所说的重载。
   对于People类我们就叫他人类吧,你说人类是个什么,你可以摸的着吗,其实他就是一个定义,一个抽象的东西,但是当我们在对他实例化时,你就可以知道他是一个具体存在的东西:例如:
   
People jim = new People();
    jim.hit();
    jim.eat();

     我们实例化出了jim这个人的对象,是真实存在的,具体的,有头,有胳膊,还有腿等,并且他还可以打人,吃饭。
   其实面向对象并不难,很接近我们现实生活的,就是通过我们对自然界的认知,经过一点点的转变,就转换到编程语言上来了,也就是说,你用自然的思维去理解考虑问题就可以了,但是刚开始我们会不习惯,就像Thinking in java 里写的那样:“我们可能会被这种简单性所难倒”你需要一段时间去习惯,开始的时候可以先模仿,写的多了可能慢慢就会体会到面向对象的奥妙。
   理解了上面对面向对象的一些基础的东西以后,我们来看面向对象的三个特性:封装、继承、多态。看似简单的六个字,却是面向对象的核心,下面我们一起来看看这三个特性:
封装:
    面向对象最基础的一个特性,封装性,封装是根据需要,把代码和指令代码捆在一起,就像一个保护器,防止外界代码随意的访问,而是根据该保护器定义的接口来控制,封装的好处是根据问题的需要,封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,也不用担心其他的一些副作用。
在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例。

  在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义。

  由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情。

继承
  继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,黑种人是人的一种,美国人有时白种人的一种,.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性。

  继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用。

  多态
  多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用。多态使得对象间交互更为灵活。

封装,继承,多态的组合使用 :

  在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序

    总的来说,所谓封装,就是通过定义类并且给类的属性和方法加上访问控制来抽象事物的本质特性。所谓继承,就是代码重用,而多态,从另外一个角度分割了接口和实现。
理解了之后这些之后,想必你对面向对象会有一个新的认识,那么,接下来,可以找个小的程序题,或者生活中的某个应用,来自己设计并实现它吧。
   编程来源于生活,又回归与生活。

5
0
分享到:
评论

相关推荐

    JAVA面向对象编程(孙卫琴)01

    1. 作者孙卫琴将复杂的概念通过通俗易懂的语言进行表达,这说明书籍采用了易于新手理解的方式来介绍概念,有助于初学者快速入门和理解面向对象编程。 2. 书中内容经过作者的深刻思考,这意味着书中不仅有浅显易懂的...

    JAVA面向对象编程(孙卫琴)07.pdf

    由于书中内容是通过通俗易懂的语言表述的,初学者应该能够较容易地理解复杂的概念。书中可能包含大量的示例代码,这些代码不仅能够帮助读者更好地理解理论知识,还能够通过实践加深记忆。这样的学习方法对于培养良好...

    Java设计模式----通俗易懂版

    这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者编写的指南。作者以形象生动的例子解释了23种经典的Java设计模式,使得复杂的概念变得更加易于理解。 首先,我们要...

    JAVA面向对象编程(孙卫琴)06.pdf

    综上所述,孙卫琴的《JAVA面向对象编程》是一本适合初学者的教材,它不仅传授Java语言基础,还引导读者如何用面向对象的方式思考,培养良好的编程习惯和开发思想。书籍注重以简单易懂的方式教授面向对象的核心概念和...

    小白学习Java,记录Java基础.rar

    Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念。Java 不但可以用来开发网站后台、PC 客户端和 Android APP,还在数据分析、网络爬虫、云计算领域...

    java零基础教程 java从入门到精通

    Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念。Java 不但可以用来开发网站后台、PC 客户端和 Android APP,还在数据分析、网络爬虫、云计算领域...

    JAVA程序设计教程第2版.pdf

    相关概念及知识点都辅以相应的实例,通俗易懂,便于理解掌握面向对象的编程思想。  实用与流行。涵盖了Java开发过程中重要的及流行的方法和技巧,讲解细致,环环相扣。  教学与互动。文字叙述注重可读性,知识组织...

    对java进行深入研究 1.java基础知识回顾.rar

    Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念。Java 不但可以用来开发网站后台、PC 客户端和 Android APP,还在数据分析、网络爬虫、云计算领域...

    java毕设源码范例和详细说明(由浅入深,深度解读在资料后半部分).docx

    知识点1:Java面向对象编程思想 在学生信息管理系统项目中,使用了Java语言的面向对象编程思想。该思想强调了封装、继承和多态性三个基本特征。通过使用类和对象来描述学生信息,实现了信息的封装和隐藏。 知识点2:...

    java学习书籍

    在深入学习阶段,《Java虚拟机规范》(James Gosling等)可以帮助读者理解Java运行时环境的内部工作原理,而《深入理解Java虚拟机》(周志明)则以更通俗易懂的方式解析了JVM。对于框架和高级技术,如Spring或Hibernate...

    基础的java学习,学习过程的蜗牛,不断前行.rar

    Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念。Java 不但可以用来开发网站后台、PC 客户端和 Android APP,还在数据分析、网络爬虫、云计算领域...

    Java就业培训教程(张孝祥).pdf

    通过通俗易懂的语言和详细的实例,解释了面向对象编程中的关键概念,如封装、继承和多态。这些章节对初学者来说尤为重要,因为面向对象是Java编程的基石。 除此之外,书中还涉及了多线程编程、Java类库的应用、IO...

    张孝祥Java就业培训教程电子书(超星版)

    《张孝祥Java就业培训教程电子书(超星版)》是一本专为希望进入Java开发领域的学习者设计的教程,由...通过学习这本书,你将能够熟练掌握Java语言,理解面向对象编程思想,具备实际项目开发能力,从而提高就业竞争力。

    Java就业培训教程

    在第3章和第4章中,作者对面向对象的编程思想进行了系统性的讲解,阐述了面向对象与面向过程的区别,并通过类与对象的定义、对象的产生与使用、类的封装性等概念,帮助初学者理解并掌握面向对象的核心理念。...

    c++书稿 C++语言的基础知识和一般的编程思想有机结合

    这些是C中所没有的,正是这一部分,使得许多人认为C++太复杂,为了使这普通读者易于理解,我们力争把这些内容写得简明扼要,通俗易懂,而又比较完整。第三部分是本书的附录部分,包括有重要的实验内容设计及Visual ...

    JAVA讲义(唐大仕版)的课本例子

    通过这些例子,学习者不仅可以学习到Java语言的基本用法,还能理解面向对象编程的核心思想,为实际项目开发打下坚实基础。在学习过程中,应结合理论与实践,反复调试和运行代码,加深对Java的理解。同时,唐大仕版的...

    java每天60分钟

    本书中介绍了一些常见的设计模式,如单例模式、工厂模式等,帮助读者更好地理解和应用面向对象编程思想。 **3.3 Java中的接口与抽象类** - **接口:** 定义了一组行为规范,任何实现了该接口的类必须实现接口中...

    Java就业培训

    - **第3章~第4章**: 面向对象思想及其应用,通过通俗易懂的语言解释复杂概念。 - **后续章节**: 涵盖多线程、常用Java类、I/O编程、GUI与Applet、网络编程等高级主题。 #### 四、Java就业市场分析 - **市场需求**...

Global site tag (gtag.js) - Google Analytics