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

黑马程序员_java 面向对象的理解

2015-07-09 22:03 477 查看
------- android培训java培训、期待与您交流!
----------

1.1理解面向对象

面向对象是相对面向过程而言

面向对象和面向过程都是一种思想

面向过程:强调的是功能行为

面向对象:将功能封装进对象,强调具备了功能的对象面向对象是基于面向过程的

[java] view
plaincopy

class    

{  

    public static void main(String[] args)   

    {  

        System.out.println("Hello World!");  

    }  

}  

  

/* 

人开门:名词提炼法。 

人 



    开门(门) 

    { 

        门.开(); 

    } 



 

门 



    开(){操作门轴等。} 



 

*/  

1.2面向对象的特点

三个特点:封装,继承,多态

以后开发其实就是找对象使用,没有对象,就创建对象找对象,建立对象,使用对象,维护对象的关系

2.类与对象的关系

现实生活中的对象:张三,李四

想要描述,想要描述对象中共性的内容,对具体的抽象

描述时:这些对象的共性有:姓名,年龄,性别,学习java功能

映射到java中,描述就是class定义的类,具体对象就是对应java在堆内存中庸new建立实体

类: 就是对现实生活事物的描述

对象:就是这类事物,实实在在存在的个体 

匿名对象是对象的简化形式

匿名对象两种使用情况:当对对象方法仅进行一次调用时,匿名对象可以作为实际参数进行传递

[java] view
plaincopy

class Car  

{  

    //描述颜色  

    String color = "红色";  

    //描述轮胎数  

    int num = 4;  

  

    //运行行为。  

    void run()  

    {  

  

        System.out.println(color+".."+num);  

    }  

      

}  

  

  

class  CarDemo  

{  

    public static void main(String[] args)   

    {  

        //生产汽车。在java中通过new操作符来完成。  

        //其实就是在堆内存产生一个实体。  

        //Car c = new Car();//c就是一个类类型变量。记住:类类型变量指向对象。  

  

        //需求:将已有车的颜色改成蓝色。指挥该对象做使用。在java指挥方式是:对象.对象成员  

        //c.color = "blue";  

          

        //c.run();  

  

        //Car c1 = new Car();  

        //c1.run();//red 4;  

  

  

//      Car c = new Car();  

//      c.num = 5;  

        /* 

        new Car().num = 5; 

        new Car().color = "blue"; 

        new Car().run(); 

 

        Car c = new Car(); 

        c.run(); 

        c.num = 4; 

        new Car().run(); 

        */  

        //匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。  

        //如果对一个对象进行多个成员调用,必须给这个对象起个名字。  

        //匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。  

  

  

        Car q = new Car();  

        show(q);  

  

        //show(new Car());  

    }  

  

    //需求:汽车修配厂。对汽车进行改装,将来的车够改成黑车,三个轮胎。  

    public static void show(Car c)  

    {  

        c.num = 3;  

        c.color = "black";  

        c.run();  

    }  

}  

3.封装

封装:是指隐藏对象的属性和实现细节,仅对象提供公共访问方式

好处:将变化隔离,便于使用,提高重用性,提高安全性

封装规则:将不需要对外提供的内容都隐藏起来把属性都隐藏,提供公共方法对其访问

[java] view
plaincopy

/* 

private :私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)。 

私有只在本类中有效。 

 

将age私有化以后,类以外即使建立了对象也不能直接访问。 

但是人应该有年龄,就需要在Person类中提供对应访问age的方式。 

 

注意:私有仅仅是封装的一种表现形式。 

 

 

之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。 

对访问的数据进行操作。提高代码健壮性。 

 

*/  

  

class Person  

{  

    private int age;  

    public void setAge(int a)  

    {  

        if(a>0 && a<130)  

        {  

            age = a;  

            speak();  

        }  

        else  

            System.out.println("feifa age");  

    }  

  

    public int getAge()  

    {  

        return age;  

    }  

    private void speak()  

    {  

        System.out.println("age="+age);  

    }  

}  

  

class PersonDemo  

{  

    public static void  main(String[] args)  

    {  

        Person p = new Person();  

  

        //p.age = -20;  

        p.setAge(-40);  

        //p.speak();  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: