面向对象1

 

 

对于事物的描述一般只关注2个方面java

一个是属性,一个是行为安全

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

 

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

 

类与对象之间的关系spa

类:事物的描述对象

对象 :该类事物的实例 。在java中经过new来建立的内存

 

 

 

描述小汽车作用域

分析get

  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、把属性都隐藏,提供公共方法对其访问

 

 

 

 

 

 

 

 

 

 

 

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

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

 

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

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

 

      经常使用

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

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

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

 

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

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

       

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

          类也是封装体

          框架也是封装体

 

 

 

 

 

构造函数

   特色

    1、函数名与类名相同

    2、不用定义返回值类型

    3、没有具体的返回值

 

   做用

      给对象进行初始化

 

  注意

    1、默认构造函数的特色

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

 

 

 

 

 

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

 

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

  

建立的对象都必需要经过构造函数初始化 ,对象不初始化绝对不能用

 

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

   

 

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

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

 

 

 

 

构造函数和通常函数的区别

 

 构造函数

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

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

   

 

 通常函数

    对象建立后,须要该函数功能时才调用

    对象建立后,能够被调用屡次

相关文章
相关标签/搜索