您的位置:首页 > 职场人生

黑马程序员_面向对象

2015-04-15 17:33 169 查看
java是面向对象的编程,下面我想通过自己对java的学习,来谈谈对面向对象的理解。 
   
给大家说一个非常熟悉的例子:老张开车去东北。用面向对象的方式考虑这个问题:车,找个司机,然后告诉司机我要去东北,至于在路上的过程具体怎么实现就不归我们所要管理的范围。 

 
。  

理解面向对象的思想,首先我们需要知道在理解面向对象时需要知道的几个名词:对象,类,还有类中一些成员变量和成员方法,面向对象有三个特征:封装,继承,多态。
对象: 
    对象是人们要进行研究的任何事物,从简单的一个小分子到复杂的汽车飞机都可以看做对象,只是有时对象要根据人们研究问题的需要来确定,对象不一定是具体的,有时也可以表示抽象的规则或计划。 
类: 
   类在java中是具有相同或相似性质的对象的抽象体现形式。也就是说,类的实例化就是创建对象的过程类的实例就是对象。 
  
创建一个People类: 

Java代码  


package com.guang.email;  

  

public class People {  

    private String head;  

    private String arms;  

    private String legs;  

      

   public People() {   

         

   }  

  

    public void hit(){  <
4000
/span>

        System.out.println("hit you");  

    }  

    public void eat(){  

        System.out.println("我要吃饭");  

    }  

  

}  

    首先类结构有成员变量,成员方法,还有构造方法。 对于People类,其实就是一个定义,一个抽象的东西,但是当我们在对这个类实例化时,就出现了一个具体存在的东西,例如: 
   

Java代码  


People jim = new People();  

    jim.hit();  

    jim.eat();  

   
jim这个人是对象,是真实存在的,具体的,有一系列的属性和功能。 

下面说一下面向对象有三个特征:封装,继承和多态。
封装: 
   
面向对象最基础的一个特性,封装性,封装是根据需要,把代码和指令代码捆在一起,就像一个保护器,防止外界代码随意的访问,而是根据该保护器定义的接口来控制,封装的好处是根据问题的需要,封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,也不用担心其他的一些副作用。 
在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例。 

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

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

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

  继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用。 
多态 
  多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用。多态使得对象间交互更为灵活。 

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

  在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: