• 面向对象1


    对于事物的描述通常只关注2个方面

    一个是属性,一个是行为

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

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

    类与对象之间的关系

    类:事物的描述

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

    描述小汽车

    分析

      1、属性

            轮胎数

            颜色

       2、行为    

            运行

    定义类其实就是在定义类中的成员

    成员:

        

       成员变量(定义在类中)-----------属性

       成员函数 -----------行为

    局部变量 :作用域 : 方法中,语句中

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

    //c 就是一个类类型的引用变量 ,指向了该类对象

     Car c = new Car();

     c.num = 5;

     c.color = "bule";

     c.show();

    一旦产生一个对象,该对象一定就具备着该类所具备的内容

    对象封装的是一个事物当中所具备的特有数据(与同类对象的区别)

    对象封装的是数据,而不是封装对象的属性(属性与数据的区别,数据是对属性的赋值)

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

      1、成员变量

            定义在类中,整个类中都有效

            存在于堆内存的对象中

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

             都有默认初始化值

         

      2、局部变量

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

            存在于栈内存的方法中

            随着所属区域的执行而存在,随着所属区域的结束而释放

            没有初始化值,必须要赋值

    误区理解 :

             成员变量  num :是说汽车这类事物,应该具备num的这个属性

             而c.num 是对该类的一个对象(实例)  对对象自身的num属性进行赋值

             是对  对象中的属性进行赋值

      

    成员变量和局部变量同名:

      自己所属的区域(栈)有,就不用出去找(堆)

    对成员变量赋值就是显示初始化

       数据类型 变量名  

       C : 类类型变量肯定指向的是对象,不然就为null

       

    Public static void show(Car  c)    类类型变量只能接收的是对象(实例)

    {

    }

    匿名对象

    new Car( ).run( );

    1、当对象对方法仅进行一次调用的时候,就可以简化为匿名对象

    2、匿名对象可以作为实际参数进行传递  show(new Car( ) );

         肯定会有一个类类型的引用变量来接收这个匿名对象

          public   static void show( Car c )

    封装  

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

    好处

       

    1、将变化隔离

    2、便于使用

    3、提高重用性

    4、提高安全性

    封装的原则

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

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

    一旦有属性  几乎都隐藏 , 对外提供公共的访问方法

    对外提供方法的目的是  对属性进行可控

    private 私有 :是一个权限修饰符 ,用于修饰成员 ,(修饰不了局部)

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

          常用

            将成员变量私有化,对外提供对应的set  get方法

            对方法进行访问。提高对数据访问的安全性

            用方法的目的是对数据进行可控(方法体内可以对数据进行判断)

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

            笔记本 、手机 就是一个封装体

           

     java中最小的封装体就是函数

              类也是封装体

              框架也是封装体

    构造函数

       特点

        1、函数名与类名相同

        2、不用定义返回值类型

        3、没有具体的返回值

     

       作用

          给对象进行初始化

     

      注意

        1、默认构造函数的特点

        2、多个构造函数是以重载的形式存在的

     

    构造函数在对象一创建的时候就运行了 ,用于给对象进行初始化

     

    构造函数: 构建创造对象的时候就会立刻 调用的函数  ,作用 :是个创建的对象进行初始化

      

    创建的对象都必须要通过构造函数初始化 ,对象不初始化绝对不能用

    函数是封装体,相同的函数名及参数列表,就是相同的函数,不关心函数体是否相同

       

    一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数的构造函数

    如果在类定义了指定的构造函数,那么类中的默认构造函数就没有了

    构造函数和一般函数的区别

     构造函数

        对象一旦创建,就会立刻调用与之相对应的构造函数,对  对象进行初始化

        对象创建时,会调用,只调用一次

       

     一般函数

        对象创建后,需要该函数功能时才调用

        对象创建后,可以被调用多次

  • 相关阅读:
    Android基础学习之context
    [原]C语言实现的快速排序,采用分治策略,递归实现
    [原]动态获取应用的视图实际大小
    [原]此程序专用来说明C++模板的用法
    [原]C++程序示例:涉及到抽象类、继承…
    [原]C++关于运算符重载的程序报错error…
    [原]用C#模拟实现扑克牌发牌、排序程序…
    [原]用C#模拟实现扑克牌发牌、排序程序。
    Come on , Android 常用开发工具
    ADB 常用命令
  • 原文地址:https://www.cnblogs.com/weilin/p/5327482.html
Copyright © 2020-2023  润新知