什么是面向对象?

面向对象

  • 面向对象就是把构成问题的事物分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述某个事物在解决问题中的行为。

  • 类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性和行为特征的对象所抽象出来的,对象是类的一个实例。

类与对象

要了解对象,首先要明白类与对象的关系、特征和组成结构

类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。 (类似生活中的图纸与实物的概念。)

**类与对象的关系:**类必须通过对象才可以使用,对象的所有操作都在类中定义。

举个例子:定义一张车的

// 定义类名Car
public class Car {
//    定义属性
    String brand;//品牌
    String color;//颜色
    int seat;//座位数
    public Car() {
    }
    //    定义方法(行为)
    void go(){
        System.out.println("汽车在行驶...");
    }
    void stop(){
        System.out.println("汽车停下来了...");
    }
     void com(){
        System.out.println("汽车在加油...");
    }

对象我们也同样可以用车来举例

//          创建一个Car类的对象(实例化)
        Car car = new Car();
//      设置对象的属性
        car.brand = "奔驰";
        car.color = "天蓝色";
        car.seat = 5;
        System.out.println(car.brand + car.color + car.seat);
//         执行对象行为(调用对象的方法)
        car.go();
        car.stop();
		car.com();

类由属性和方法组成:

  • 属性:就相当于人的一个个的特征
  • 方法:就相当于人的一个个的行为,例如:学习,考试,休息

一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下:

类名称 对象名称 = new 类名称() ;

如果要想访问类中的属性或方法(方法的定义),则可以依靠以下的语法形式:

访问类中的属性: 对象.属性 ;

调用类中的方法: 对象.方法(实际参数列表) ;

例如猜数游戏,就能体现一个属性与方法的分配:

随机产生一个数字(1~100),猜测并输入一个数字,判断是否猜中,猜中就结束,如果没有猜中给出提示(猜的数字比生成的数字大了还是小了),继续猜数。

(思考过程:

​ 需要哪些对象?对象列出来,再判断是否需要实现类

​ 游戏对象(人)

​ 每个对象有哪些属性和行为?

​ GuessNum属性:生成数字

​ 猜的数字

​ 行为:

​ 产生随机数

​ 接受输入

​ 判断结果

​ 提示

类的注意事项:

  • 类必须编写在.java文件中;
  • 一个.java文件中,可以存在N个类,但是只能存在一个public修饰的类;
  • java文件的文件名必须与public修饰的类名完全一直;
  • 同一个包中不能有重名的类;

面向对象与面向过程的优缺点

初学java我们都要了解一个过程,然后明白编译的思路,所有通过面向对象与面向过程的区分也能增加对面向对象理解。

面向过程

优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展。

面向对象

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护。
缺点:性能比面向过程低。

总结

面向对象:其实对象是类的抽象概念 ,也就是起一个名字,我们可以按照各种不同的功能,方法,模块,业务逻辑等分别起名,分别归类,使用此对象名调用该对象所代表的类中的不用函数也就是代码块,其中就是我们分开写的各种不同的方法,业务了逻辑等。

面向过程:其实就是在一个类中将所有的模块、功能、业务逻辑等按照执行顺序依次从上到下的书写并执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值