类与对象-----(封装)

1.面向对象
     是一种符合人类思维习惯的编程思想(oop)
     在程序中使用对象来映射现实中的事物,
     使用对象的关系来描述事物之间的联系,这种思想就是面向对象。
     
2.面向对象的特征
        1.安全 2.复用  3.灵活性
     a.封装
          提高程序的安全性
     b.继承
          提高了程序代码的复用性
     c.多态
          提高了程序的可扩展性
3.对象
    **客观存在的事物(一切/万物 皆对象)
    
    **特点
       属性
          对象所表现出来的静态特征(一眼能看的到--外貌特征)
          每一个属性都会有一个对应的值 
          例如:  顾客
                 头发     黑色 
                 体重      70kg             
       
       方法
          对象所表现出来的动态特征(行为动作或功能)
          例如:顾客
          
               购买商品
               
4.类
    ** 具有相同属性和方法的一组对象的集合
    
    ** 类和对象关系
    
        类是对象模版,对象是类中具体体现
        
    ** 类和对象区别
        类仅是一个概念,摸不着,看不见
        
        对象一个具体存在的事物,看的见 摸得着

(类与对象的关系:
 类:类是一个模子,描述了该对象应该具有什么特征。
对象:对象是类的实例,由照着类这个模子创建出的实例

5.程序实现步骤
      1.定义类
         语法:
             访问修饰符  class  类名{
             
             }
            访问修饰符:    public   公共的/公有的
            
      2.定义类的属性和方法
          a.属性语法:
          
            数据类型 属性名;
            
          b.方法语法
          
            访问修饰符  方法的返回值类型  方法名(方法参数){
            
            }
            
            
      3.实例化(创建)对象
         类名  对象名=new 类名();
          操作属性
             对象名.属性名=值;
          操作方法
               对象名.方法名();
5.基础数据类型和引用数据类型
    基础数据类型
       数值
          整数
             byte  short  int long
          小数
             double   float
        字符
           char
        布尔
           boolean
    引用数据类型(new)
      String
      数组
      对象 --> 类 类型
      
    **区别
        a.引用数据类型 是有属性和方法的,基本数据类型没有
        b.基本数据类型是在栈内存中,而引用数据类型是存在堆内存中
    ** 内存存储
        栈内存:存的是变量的值
        堆内存: 存的是变量的内存地址
6.类的方法
    ** 概念
         对象所表现出来的行为动作或功能
    ** 作用
         完成特定功能的代码块
    ** 语法
       访问修饰符  方法的返回值类型  方法名([方法参数]){
       }
    **分类
       a.无参方法
            语法
             访问修饰符 方法的返回值类型 方法名(){
             }
             访问修饰符:public---->公共的/公有的
             
             方法的返回值类型:  基本数据类型/引用数据类型
                 无返回值    :void
                 
                 有返回值    : return
       
       b.有参方法
7.成员变量和局部变量

  
    成员变量  
       位置:  类中定义
    局部变量
       位置:   方法中
     
    **作用域(范围)
       离自身最近的那个花括号"{"
       
    **区别   
       成员变量   会有初始值
          String --->null
          int    --->0
          double --->0.0
       局部变量   没有初始值
       
8.方法调用
    a.不同类中
        类名  对象名=new 类名();
        对象名.属性;
        对象名.方法();
    b.本类中
       方法名();


案例:
/***********************************************************

*/
class Car
{
    int num;
    String color;
    
    void run()
    {
        //int num = 4;
        System.out.println("汽车的*有"+num+"个,颜色是"+color+"色");
    }
 
}
 
 
 
 
 
class  CarDemo
{
    public static void main(String[] args) 
    {
        //在计算机中创建一个car的实例。通过new关键字。 
        Car c = new Car();// c就是一个类类型的引用变量,指向了该类的对象。
        c.num = 4;
        c.color = "red";
 
        c.run();//要使用对象中的内容可以通过  对象.成员 的形式来完成调用。
 
        
 
//        Car c1 = new Car();
//        c1.num = 4;
//        c1.color = "red";
 
//        Car c2 = new Car();
//        c2.num = 4;
//        c2.color = "red";
 
//        Car c1 = new Car();
//        Car c2 = new Car();
//        show(c1);
//        show(c2);
 
        /*
        匿名对象。没有名字的对象 。
        new Car();//匿名对象。其实就是定义对象的简写格式。
        Car c = new Car();
        c.run();
        new Car().run();
    
        1:当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
        
        new Car().num = 5;
        new Car().color = "read";
        new Car().run();
        2:匿名对象可以作为实际参数进行传递。
        
//        Car c1 = new Car();
//        show(c1);
        show(new Car());
    }
    //汽车改装厂。
    public static void show(Car c)//类类型的变量一定指向对象。要不就是null。 
    {
        c.num = 3;
        c.color = "black";
        System.out.println(c.num+"..."+c.color);
    }
    */
    }
}
 
 

上一篇:数据库查询某个字段重复1次或多次的数据行(查询语句)


下一篇:HTML+CSS+JS实现 ❤️绘制卡丁车动漫特效❤️