zoukankan      html  css  js  c++  java
  • javaSE_07Java中类和对象-封装特性


    一、谈谈什么是面向对象的思维

    理解面向对象,重点是要思考以下的问题

    面向过程 vs 面向对象

    Ø 谈谈什么是面向过程的编程思想?

    Ø 为什么有面向过程还要有面向对象?

    Ø 谈谈什么是面向对象的编程思想?

    Ø 面向对象和面向过程有什么样的联系?

    生活角度:面向过程 vs 面向对象

    ---》做饭(买菜,洗菜,切菜,炒菜,吃,洗碗)

    女朋友----》吃饭

    女朋友---》面向对象---》你--做饭

    ----》面向过程(明确具体的每个步骤)

    总结

    生活角度:

    面向对象:(先确定好一类事物,然后再找具体的对象)用人,关注点在于怎么协调每个人来完成工作

    面向过程:要明确人去干活的细节,关注点在于做每件事的过程

    每件事都是自己来干--执行者

    每件事都是找专业的人来干--管理者(资源的调配者)

    代码角度:

    二、Java中的面向对象(类和对象)

    Java是一门纯面向对象的语言,那么它是怎么来实现这些面向对象的思维的,那下面我们就要来学习它的语法。

    掌握面向对象的基本语法:Java最基本的单位是类

    Java中有两个重要的概念,类和对象。

    先抽象(老师)后具体(具体的老师)

    类:

    生活中:多个个体---》提取公共性----》归类

    对象:

    对象:个体

    案例1:创建一个老师类

    语法:

    public class 类名{

    }

    一个老师,我们需要关注什么特性?比如姓名,年龄等等

    除了这些基本的特性或叫属性之外,老师还应该有些行为,比较上课的行为。

    那么这种行为,在java中就叫方法。

     

    总结:

    基本信息--属性

    行为--方法

    语法:

    Public class 类名{

       数据类型 变量名;

       访问修饰符 返回值类型 方法名(参数列表){

           方法体;

       }

    }

    案例2:创建一个老师对象

    类已经有了,但是类是抽象的概念,真正可以干活的是具体的对象,怎么具体化?

    对象

    创建对象的语法是什么?

    类名 对象名 = new 类名();//这跟创建数组类似

    对象名.属性

    对象名.方法

    练习:

    1.编写一个老师类,关注其姓名,年龄,擅长领域等信息,同时关注其上课的能力,在测试类中创建该类的对象,通过对象给属性赋值及调用方法

    2.编写一个手机类,关注其品牌,价格,屏幕大小等信息,同时关注其打电话的功能,在测试类中创建该类的对象,通过对象给属性赋值及调用方法

    增加功能:

    来一个方法展示其老师的整体信息

    来一个方法展示其手机的整体信息

    JDK为我们提供了很多的类,方便我们程序的开发

    比如文件的操作,上传,下载 ---io

    比如网络的编程,做对聊小程序 --net

    等等

    有时候,我们还会自己来创建新的类

    比如,婚介系统,存储会员的信息 --创建一个新的类来存储这个信息

    会员:

    属性:身高,年龄等等

    方法:唱歌,做饭。。。。

    类:概念,抽象的

    对象:具体的

    三、封装及this

    封装有两层含义,对功能的封装,比如就是我们的方法,方法就代表一个功能的实现;

    另一层含义,是对数据的封装,比如手机的价格等等

    问题:

    上述案例都有共同的问题,老师的年龄或手机的价格都可以给其负数,但应该是不合理的,怎么解决这样的问题?

    Java为我们提供了一种解决方案(面向对象的三大特征之一:封装

    注意:真正项目开发时,我们解决此类问题的方案并不是这样,但是为了更好让大家理解封装的特性,我们暂且采用这个方案来解决此类问题。

    步骤:

    1.属性私有化

    2.对属性提供getset方法

    新问题:

       名字相同的问题

       解决方案引入this关键字

    this访问本类的构造方法:

    小结:

    l this访问本类的成员属性

    l this访问本类的成员方法

    this访问本类的构造方法

     

    补充:

    开发的时候,我们的类的所有属性一般都会私有化,然后再提供方法给外界调用

    四、构造方法

    什么是构造方法,当我们要创建一个对象的时候就会使用到构造方法,可以实现对象的创建及对象信息的初始化工作

    构造方法的使用及细节

    1.构造方法的语法格式

    访问修饰符 类名(参数列表){

        方法体;

    }

    2.默认构造方法

    3.带参的构造方法

    4.默认特性,系统默认会给我们提供一个无参的构造方法

    练习:采用带参的构造方法来实现对象的创建,并验证系统提供无参构造方法的机制。

    五、考点:成员变量和局部变量的区别

    成员变量和局部变量的区别?笔试考点

    成员变量:

    定义在类中,跟成员方法同级别

    局部变量:

    方法的参数,或者定义在方法内的变量

    1),位置不同,导致作用域不同

    2),生命周期不同

    3),内存的位置不同(后面讲对象内存图时再讲)

    4),初始值不同,局部变量默认不给初始化,需要你自己去初始化,才能使用

    5),奇葩考点,成员变量和局部变量同名的情况,考优先级问题

  • 相关阅读:
    hdu 3268 09 宁波 现场 I
    hdu 3697 10 福州 现场 H
    CodeForces Round #521 (Div.3) D. Cutting Out
    #Leetcode# 226. Invert Binary Tree
    zufe 蓝桥选拔
    #Leetcode# 100. Same Tree
    #Leetcode# 6. ZigZag Conversion
    PAT 1084 外观数列
    #Leetcode# 38. Count and Say
    #Leetcode# 22. Generate Parentheses
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6770148.html
Copyright © 2011-2022 走看看