2021-11-08

面向对象

  • 1、什么是面向对象

     思想、思维方式 、思考问题的角度
    
  • 2、面向对象的优点

     复杂的问题简单化,更贴近现实生活中人类的思维角度
    
  • 3、面向对象与面向过程的区别

     面向过程就是分析出解决问题所需要的步骤,然后用函数实现、调用,关注过程;
     面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为,关注结果。
     面向过程适用于执行者,面向对象适用于管理者
    
  • 4、类

     类的定义 :
           public class 类名{
               //1.属性-> 成员变量
               修饰符 数据类型 变量名 = 赋值;
               修饰符 数据类型 变量名;
               .....
               //2.功能-> 成员方法(不被static修饰)
               public void|返回值类型 方法名(参数列表){
                   实现功能的代码;
                   [return 返回值;]
               }
               ...
               }
    
public class Class_Car {
    public String brand;
    public String color;
    public double price;
    public void drive(){
        System.out.println("一辆"+price+"的"+color+"的"+brand+"即将开始旅程");
    }
}
  • 5、对象

     1.导包 : 指明要使用类型的位置
         不需要导包的类型: 1)java.lang下  2)同包下的类
     2.创建对象 : new关键字具有创建对象的能力
          引用数据类型 变量|引用 = new 引用数据类型();
     3.使用属性|功能:
         引用.属性
         引用.功能名字(参数列表)
    
public class Class_CarTest{
    public static void main(String[] args){
        //创建对象
        Class_Car car=new Class_Car();
        //赋值
        car.brand="奔驰";
        car.color="黑色";
        car.price=500000;
        //调用
        car.drive();
    }
}
 ***注意:***
 	1)new关键字创建对象的步骤:
    ①在堆中为对象开辟空间,同时成员变量跟随对象进入堆内存,并赋默认值
    ②调用构造器为对象初始化信息
    ③将地址返回给引用
    2)成员变量只声明不赋值存在默认值  
         整数0  小数0.0   boolean:false   char:空字符   引用数据类型: null
    3)先有类才能创建对象,有了对象才有了成员变量,才能使用成员
  • 6、构造器(构造函数、构造方法)

     1)作用: 为对象初始化信息(为对象的成员变量赋值)
     2)使用: 跟随new关键字一起使用,不能单独调用
     3)定义:
       修饰符 类名(参数列表){
       }
    
public class Class03_ComputerTest {
    public static void main(String[] args){
        //创建对象的同时为成员变量赋值
        Computer c=new Computer("联想",5000);
        c.run();
    }
}
class Computer{
    String brand;
    double price;
    //带参构造器
    public Computer(String pcbrand,double pcprice){
        if(pcprice<0){
            System.out.println("价格不合法无法初始化...");
            return;
        }
        brand=pcbrand;
        price=pcprice;
    }
    public void run(){
        System.out.println("一台"+brand+"电脑正在运行");
    }
}
***注意:***
          构造器不能定义void|返回值
          构造器也是特殊的方法,具有方法重载的特性->构造器的重载
          如果一个类中没有显示的定义构造器,编译器会自动默认提供一个空构造(没有参数的构造器)
          如果存在显示定义的构造器,编译器不会再为类型提供任何构造器了,包括空构造
          构造器中可以存在return,根据需求定义,实现提前结束构造器,但是不能带出返回值
          构造器帮助实现,在通过new关键字创建对象的同时为对象初始化信息
          以后定义模板类,至少提供一个空构造,按需提供带参构造
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值