Java面向对象(一)

面向过程和面向对象

都是语言设计的思想(宏观)

程序设计的思路

面向过程(POP)

(具体的步骤)

做一件事情,分析有哪些步骤,一一去实现(函数),这是早期的编程语言设计思路(c语言)

关注的焦点是过程,过程就是操作数据的步骤

面向对象(OOP)

关注的焦点是类:在计算机程序设计过程中,参照现实中的事物,将事物的属性特征,行为特征抽象出来,用类来表示

代码结构:以类为组织单位。每种事物都具备自己的属性和行为/功能

面向对象程序设计时,从宏观上分析程序有哪些功能

然后对功能进行分类,把不同的功能封装在不同的类中(造汽车,发动机·······)

是一种宏观设计,适合解决复杂的问题,代码扩展性强,可维护性高。

类和对象

具有相同特征(同一类)事务的抽象描述,例如:人类,树类,公务员类,语言类,是抽象的概念

现根据客观的事务进行抽象(设计为程序),然后由抽象创造出具体,最终使用的是具体

对象

实际存在的该类事物的每个个体,是具体的,因而也称为实例,例如:小明,苹果,魅族20,

类的构造

一,发现类

总结的过程就是抽象化的过程。抽象出猫的特征,可以归纳为一个猫类。

例如:古希腊哲学家柏拉图把人定义为:没有羽毛的两脚直立的动物,其中:”没有羽毛“,”两脚独立“都是特征,都能归类为人类,当然在现在看来这样的定义是片面的

类的声明格式为:[访问权限修饰符][修饰符]class Cat{

}

二,发现类的共有属性(成员变量)

三,定义类的成员方法(行为,动词)

四,使用类创建对象

对象

什么是对象

对象是类的实例,是以类为模板,在内存中创建出的是个实际存在(对象)

如何创建对象

使用new关键字,例如:Cat()-----类的构造方法

Cat miao = new Cat();

new Cat()使用new创建对象,然后调用Car类的构造方法初始化对象=,将右边创建的对象的地址赋值给左边miao变量

这个miao就相当于创建出的变量,可以表示这个对象,可以使用这个miao进行属性操作

例如:miao.name = "咪咪";

类和对象的关系

在Java编程语言中,类和对象是紧密相关的概念。类是对具有相同属性和行为的一组对象进行抽象和封装的模板。类定义了对象的属性和行为,并提供了一种创建对象的方式。

对象是根据类定义的模板创建的实体,它具有类定义的属性和行为。对象是类的实例化,每个对象都是独立的,可以具有不同的属性值。

类在Java中通过关键字class来定义,而对象通过关键字new创建。

下面是一个简单的例子,展示了类和对象的关系:

public class Car {
    // 属性
    String brand;
    String color;
    int price;
    
    // 方法
    void start() {
        System.out.println("汽车启动了");
    }
    
    void accelerate() {
        System.out.println("汽车加速了");
    }
    
    void brake() {
        System.out.println("汽车刹车了");
    }
}

public class Main {
    public static void main(String[] args) {
        // 创建Car对象
        Car myCar = new Car();
        
        // 设置对象的属性值
        myCar.brand = "Toyota";
        myCar.color = "Red";
        myCar.price = 20000;
        
        // 调用对象的方法
        myCar.start();
        myCar.accelerate();
        myCar.brake();
    }
}

在上面的代码中,我们首先定义了一个Car类,它具有品牌、颜色和价格等属性,以及启动、加速和刹车等方法。然后,在main方法中,我们通过关键字new创建了一个Car对象myCar,并为其设置了属性值。最后,通过调用对象的方法,我们可以看到对象执行了相应的行为。

构造方法

类的构造方法

特点:

  1. 构造方法的名称必须与类名完全相同。
  2. 构造方法没有返回类型,包括void。
  3. 构造方法可以重载,即一个类可以有多个构造方法,只要它们的参数列表不同即可。

作用:

  1. 初始化对象的属性,让对象在创建后就具有合适的初始值。
  2. 在对象创建过程中执行一些必要的操作。
    public class Car {
        String brand;
        String color;
        int price;
        
        // 无参构造方法
        public Car() {
            brand = "Unknown";
            color = "Black";
            price = 0;
        }
        
        // 带参构造方法
        public Car(String brand, String color, int price) {
            this.brand = brand;
            this.color = color;
            this.price = price;
        }
        
        // 方法
        void start() {
            System.out.println("汽车启动了");
        }
        
        void accelerate() {
            System.out.println("汽车加速了");
        }
        
        void brake() {
            System.out.println("汽车刹车了");
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            // 调用无参构造方法创建对象
            Car car1 = new Car();
            
            // 调用带参构造方法创建对象
            Car car2 = new Car("Toyota", "Red", 20000);
            
            // 输出对象的属性值
            System.out.println("car1: " + car1.brand + ", " + car1.color + ", " + car1.price);
            System.out.println("car2: " + car2.brand + ", " + car2.color + ", " + car2.price);
            
            // 调用对象的方法
            car1.start();
            car2.accelerate();
        }
    }
     
    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值