JAVA 三大特性 OOP思想 面向对象思想

本文深入探讨了面向对象编程(OOP)的三大特性——封装、继承和多态,并通过实例解释了它们在JAVA中的应用。此外,文章还介绍了面向过程与面向对象的区别,强调了面向对象在编程中的优势。同时,提到了单例设计模式、接口、异常处理以及API在JAVA编程中的重要性,帮助读者更好地理解和掌握JAVA的面向对象思想。
摘要由CSDN通过智能技术生成

OOP:面向对象编程

    OOP三大特征(记住):

        封装、继承、多态

    面向对象的引入:

        如果不同class(类)中,存在相同的函数(功能),在开发中这种编码方式会降低程序的编码效率、复用性降低。

    之前函数,是把功能提取出来,是从class(类)中提取到函数;

    为了解决编码效率低、复用性差:

        把相同的功能(函数)提取出来,使用一个新的class来封装;

        怎么去用封装好的Tool类:

            创建实例的格式:

                Tool t(实例名)=new Tool();

            t.getMax(num1,num2);

            "t"表示就是t下的 或者 t的功能或者函数    

面向过程

    过程:一个函数中的功能体的过程

    吃饭[买菜==》洗菜==》切菜==》做菜==》吃]

    它是一种解决问题的方法;

    它就是我们书写的函数(功能)。

面向对象

    对象:一个实体或者个体,指得是生活中的某个事物或者某类事物。

    面对具体封装了函数的对象(对象在程序中就是类[class])

    面向对象其实是一种解决问题的方案。

    面向对象是基于面向过程的;

 

面向对象举例:

    组装电脑

    面向过程:解决这个问题

        1、去网上查询硬件参数和价格

        2、去电脑城中的商家咨询价格

        3、赛选满意商家,和它谈价格

        4、监空整哥电脑的安装流程

        5、付钱,电脑扛回家

    面向对象:解决这个问题

        1、找一个懂电脑硬件人

        2、告诉他价格和配置

        3、给他钱,让他帮你买

        4、等电脑回来

面向过程VS面向对象

    1、他都是解决问题的方法

    面向对象和面向过程了两个概念是不冲突。面向对象是基于面向过程的;

面向过程:

    程序中组成的单位:函数。由若干函数组成。

面向对象:

    程序中组成但是:类(class)

对象在需求中使用(伪代码):

    案例1:人开门

    名词:人 和 门

    人{

        //特征

        姓名;

        性别;

        //功能

        开门(门){

            门.开门();

        }     

    }

    门{

        //特征

        门锁;

        //功能

        开门(){

        }

        关门(){

        }    

    }

调用方法:

    人 r=new 人();

    门 m=new 门();

    r.开门(m);

案例2:

    老师用电脑上课

    名词提取:电脑   老师

    电脑{

        //特征

        CUP;

        内存;

        //功能

        开机(){}

        运行(){}

        关机(){}

    }

    老师{

        //特征

        姓名;

        性别;

        //功能

        上课(电脑){

            电脑.开机();

            电脑.运行();

        }

    }

    电脑 d=new 电脑();

    老师 l=new 老师();

    l.上课(d);

 

对象在代码中的体现:

    成员变量:类中成员

    使用new 关键字创建类的对象

        创建格式: 类名  对象名(实例名)=new 类名();

        使用  对象名.成员变量(成员函数)去访问类中属性或方法

 

对象在内存中图解:

    在创建对象(new的时候),JVM在开辟完对象的堆内存空间后,会把所有的成员变量加载到所开辟的空间下,然后会对所有的

成员变量进行默认初始化;

        String  null

        int 0

        float 0.0

        double 0.0

        char   空

        boolean flase

 

类  和  对象的关系:

    1、类就是描述事物;对象是所描述事物的实例(使用实例名去访问类中成员)

    2、现有类的描述(class),后有描述类的对象(类名  实例名=new 类名();)

 

成员变量 和 局部变量区别

    成员变量(属性):定义类中的变量

    局部变量:定义在函数中或者语句中(for if)的变量 

区别:

    定义上:

        局部变量定义在函数内部,属于函数;

        成员变量定义在类的内务,属于类的;

    内存的存储上:

        局部变量随着函数的入栈而存在,随着函数的出栈而销毁,存储在栈内存中

        成员变量是随着对象的创建而存在,随着对象被标记为垃圾而销毁,存储在堆内存中。

    使用上:

        局部变量直接使用;

        成员变量必须在对象创建完成之后,使用对象去调用;

    初始值:

        局部变量在定义时候必须要指定初始值;

        成员变量可以不指定初始值,随着对象的创建会有初始值;

    生命周期:

        局部变量的生命周期比较短

        成员变量是随着对象的创建到对象的销毁来计算生命周期的

JAVA的三大特征:

    封装、继承、多态

    封装

        其实就是包装的意思:

            它会把事物的部分的细节给隐藏

        封装的体现:

            1、函数:封装了一些功能的代码;

            2、类:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值