面向对象

例:大象装进冰箱

面向过程:

打开冰箱

装进大象

关上冰箱


对面向过程思想,强调的是过程(动作)。  注:c语言


面向对象:

冰箱打开

冰箱储存

冰箱关闭


对于面向对象,强调的是对象(实体)。   注:c++,Java,c#。


特点:

  1. 面向对象就是一种常见的思想,符合人们的思考习惯。

  2. 面向对象的出现,将复杂的问题简单化。

  3. 面向对象的出现,让曾经在过程中的执行者,变成对象中的指挥者。


                                                            类与对象之间的关系:


用Java语言对现实生活中的事物进行描述。

通过类的形式来体现的。

怎么描述呢?

对事物描述通常只关注两方面:

一方面是属性,一方面是行为。


只要明确该事物的属性和行为并定义类中即可。


对象:其实就是该类事物实实在在存在的个体。


类与对象之间的关系?

类:事物的描述。

对象:该类事物的实例,在Java中通过new来创建的。


                                                    类与对象的体现

描述小汽车

分析:

1,属性:    轮胎数,颜色

2,行为:    运行


class  Car{

        int num;//轮胎数


        String color;//颜色


        void run()//运行(注:不用返回用void。){

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

        }  注:定义类其实就是在定义类中的成员。

}                成员:成员变量(<-->)属性,成员函数(<-->)行为。


class  CarDemo{

        public static void main(String[] args){

            //在计算机中创建一个car的实例。通过new关键字。

                Car  c=new   Car();//C就是一个类的引用变量,指向该类的对象。

                C.num=4;//轮胎数

                C.color="red";//颜色   红色

                C.run();//要使用对象中的内容可以通过。    对象 . 成员的形式来完成调用。

        }

}

注:字符串color在堆内存中的默认值是null(空)

        字符串color在堆内存中的默认值是0


                                                成员变量和局部变量的区别

1,

成员变量定义在类中,整个类中可以访问。

局部变量定义在函数中,语句,局部代码块中,只在所属的区域有效。

2,

成员变量存在于堆内存的对象中。

局部变量存在于栈内存的方法中。

3,

成员变量随着对象的创建而存在,随着对象的消失而消失。

局部变量随着所属的区域的执行而存在,随着所属区域的结束而释放。

4,

成员变量都有默认的初始化值。

局部变量没有默认的初始化值。


类类型参数:

class  DemoCril1{

        public static void main(String[] args){

            Car  c1=new  Car();

            Car  c2=new   Car();

            show(c1);

            show(c2);//注:调用区。

        }

        public static void  show(Car  c)//类类型的变量一定指向对象。要不就是null。

        {

        c.num=3;

        c.color="black";

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

        }

}


                                                                匿名对象

匿名对象:没有名字的对象。

new   Car();//匿名对象。其实就是定义对象的简写格式。


Car  c=new   Car();

c.run();//当对象对方法仅进行一次调用的时候,就可以简

化成匿名对象。:new  Car().run();


匿名对象可以作为实际参数进行传递。

Car   c1=new  Car();

show(c1);

调用区也可以写成show(new  Car());这个就是传递。


                                                                封装代码——实例

人:属性 :年龄

       行为:说话

class  Peros{

        private/*私有的意思*/  int age;

        public void setAge(int a)//对Age的赋值操作 {

                age=a;    

        }

        public  int  getAge()//对Age的获取操作 {

                return   age;

        }

        void  speak() {

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

        }

}

class  PersouDemo{

        public static void main(String[] args){

                Persou  p=new   Persou;

                p.speak();

        }

}

注:private:私有的意思。是一个权限修饰符。用于修饰成员。

                        私有的内容只在本类中有效。

注意:私有仅仅是封装的一种体现而已


                                                    封装

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


好处:

  1. 强变化隔离

  2. 便于使用

  3. 提高重用性

  4. 提高安全性


封装原则:

  1. 将不需要对外提供的内容都隐藏起来。

  2. 把属性都隐藏,提供公共访问方法对其访问。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值