• Java面向对象


    面向对象
    面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。
    面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了。
    举例
    公司打扫卫生(擦玻璃、扫地、拖地、倒垃圾等),按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生打扫干净了。
    公司打扫卫生(擦玻璃、扫地、拖地、倒垃圾等),按照面向对象的程序设计方式会思考“我该让谁来做,如小明擦玻璃、让小丽扫地、让小郭拖地、让小强倒垃圾等”,这里的“小明、小丽、小郭、小强”就是对象,他们要打扫卫生,怎么打扫是他们自己的事,反正最后一群对象合力把公司卫生打扫干净了。
    面向对象优点?
    面向对象思维方式是一种更符合人们思考习惯的思想
    面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多的体现是指挥者(指挥对象做事情)。
    面向对象思维方式将复杂的问题简单化。

    类与对象

    例子

    创建冰箱的类并有3个功能

    public class Bingxiang {
    public void open(){
    	System.out.println("打开冰箱");
    }
    public void save(Daxaing dx) {
    	System.out.println("将大象装进去");
    }
    public void close() {
    	System.out.println("关上冰箱");
    }
    }
    

     创建大象的类

    public class Daxaing {
    
    }
    

      测试

    创建冰箱和大象两个对象

    Bingxiang bx = new Bingxiang();
    		Daxaing dx = new Daxaing();
    		bx.open();
    		bx.save(dx);
    		bx.close();
    

      

     总结:

    1、先按照名词提炼问题领域中的对象

    2、对对象进行描述,其实就是在明确对象中应该具备的属性和功能

    3、通过new的方式就可以创建该事物的具体对象

    4、通过该对象调用它以后的功能。

    对象在代码中的体现

    例子

    创建汽车类并构造run()方法

    public class Car {
    String color;
    int size;
    int gulu;
    public void run() {
    	System.out.println("颜色为"+color+",大小为"+size+",有"+gulu+"个轱辘的小汽车正在跑");
    }
    }
    

      创建对象c1

    Car c1 =new Car();
    		c1.color = "red";
    		c1.size = 100;
    		c1.gulu = 4;
    		c1.run();
    

      

    成员属性在代码中的体现就是成员变量

    成员功能在代码中的体现就是成员方法

    内存图解

    类与对象区别

    类是对某一类事物的抽象描述

    对象用于表示现实中该类事物的个体

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

    区别一:定义的位置不同

    定义在类中的变量是成员变量

    定义在方法中或者{}语句里面的变量是局部变量

    区别二:在内存中的位置不同

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

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

    区别三:生命周期不同

    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

    局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

    区别四:初始化不同

    成员变量因为在堆内存中,所有默认的初始化值

    局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

  • 相关阅读:
    微信小程序登录
    cURL error 60: SSL certificate problem: unable to get local issuer certificate 报错解决
    MyBatis学习之一----基础了解
    web工程和java工程的区别
    StringUtils的实用功能
    SpringMVC-----部分功能学习
    SpringMVC之国际化
    SpringMVC
    web.xml配置详解
    Hibernate学习-----遇到的相关问题
  • 原文地址:https://www.cnblogs.com/cgj1994/p/9671763.html
Copyright © 2020-2023  润新知