JAVA面向对象

本文介绍了面向过程和面向对象这两种编程思想,比较了它们的焦点、代码结构和适用场景,以及类、对象、构造方法和方法重载的概念,并通过示例展示了如何在Java中运用这些概念。
摘要由CSDN通过智能技术生成

面向过程和面向对象

面向过程和面向对象都是一种语言设计思想

面向过程(具体的步骤)

做一件事情,分析有哪些步骤,一一实现

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

然后对功能进行分类,把不同的功能封装在不同的类中

是一种宏观的设计

但到具体实现,仍然离不开面向过程,两者相辅相成

面向过程

● 面向过程的程序设计思想,简称POP

● 关注的焦点是过程:过程就是操作数据的步骤。如果某个过程的实现代码重复出

现,那么就可以把这个过程抽取为一个函数。这样就可以大大简化冗余代码,便于维护。

● 典型的语言:C语言

● 代码结构:以函数为组织单位。

● 是一种“执行者思维” ,适合解决简单问题。

分析出解决问题所需要的步骤,然后把步骤一步一步实现。

扩展能力差、后期维护难度较大。

面向对象

● 面向对象的程序设计思想,简称OOP

● 关注的焦点是类:在计算机程序设计过程中,参照现实中事物,将事物的属性特

征、行为特征抽象出来,用类来表示。

● 典型的语言:Java、C#、C++、Python、Ruby和PHP等

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

● 是一种设计者思维,适合解决复杂问题。代码扩展性强、可维护性高。

类和对象

1.

类是具有相同特征的事物的抽象描述,是抽象的,概念上的定义

先根据客观的事物进行抽象,然后由抽象创造出具体,最终使用的是具体

类的结构

• 变量:事物属性的描述(名词)

• 方法:事物的行为(可以做的事情 动词)

• 构造方法:初始化对象

• 块:一段没有名称的代码块

• 内部类: 即在类体中声明的类

2.对象

对象是实际存在的该类事物的每个个体,是具体的,因此也称为实例

3.创建并使用对象

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

使用new关键字,Car()--类的构造方法,类会自动提供的

Car bm/bc 声明一个Car类型变量

= :将右边创建的创建对象地址赋给左边的变量

package javaoop;

public class Car {
    String name;
    float  price;
    String color;

    public void run(){
        System.out.println(name+"汽车行驶");
    }
    public void stop(){
        System.out.println(name+"汽车停止");
    }
    public void music(){
        System.out.println(name+"车载音乐");
    }
    public void altogether(){
        System.out.println("车名:"+name+" "+"价格:"+price+" "+"颜色:"+color);
    }
}
package javaoop;

public class Testcar {
    public static void main(String[] args) {
        Car bm = new Car();
        bm.name = "宝马";
        bm.color ="白色";
        bm.price = 420000;
        bm.run();
        bm.stop();
        bm.music();
        bm.altogether();

        System.out.println("=================================");

        Car bc = new Car();
        bc.name = "奔驰";
        bc.color ="黑色";
        bc.price = 500000;
        bc.run();
        bc.stop();
        bc.music();
        bc.altogether();
    }
}
4.总结类和对象

类是一类事物的抽象概念,是一个模型. 对象是由这个模型所创造的,一个个具体存在的,实实在在存在的实例

构造方法

构造方法名与类名相同,且没有返回值,且不需要使用void修饰

作用: 在构造方法中为创建的对象成员变量初始化赋值

特点: 每个类都有构造方法,如果没有显式地为类定义构造方法,Java将会为该类提供一个默

认无参构造方法,但是只要在一个Java类中定义了一个有参构造方法后,默认的无参构造方法

会失效。

一个类可以有多个构造方法。

package javaoop;

public class Person {
    String name;
    int age;
    String zuming;
    public Person(){

    }
    public Person(String a, int b, String c){
        name=a;
        age=b;
        zuming=c;
    }
   
    public  void altogether() {
        System.out.println("姓名:"+name+" "+"道龄:"+age+" "+"族名:"+zuming);
    }
    public  void strong(){
        System.out.println("力量:80");
    }
    public void mentality(){
        System.out.println("智慧:75");
    }
    public void blood(){
        System.out.println("血量:1000000");
    }
}
package javaoop;

public class TestPerson {
    public static void main(String[] args) {
        Person one = new Person();
        one.name="朱五";
        one.age=150;
        one.zuming="妖族";
        one.altogether();
        one.strong();
        one.mentality();
        one.blood();

        System.out.println("=====================");

        Person two = new Person("李四",250,"魔族");
        two.altogether();
        two.strong();
        two.mentality();
        two.blood();
      
    }
}

方法的重载

l方法的重载是指一个类中具有相同的名字,但参数不同的多个方法。

l参数不同(可以有三方面的不同)

• 数量不同

• 类型不同

• 顺序不同

l 调用时,会根据不同的参数表选择对应的方法。

注意:方法重载跟方法的返回值类型没有任何关系

public Person(String a, int b, String c){
        name=a;
        age=b;
        zuming=c;
    }
    public Person(String a,String c,int b){
        name=a;
        zuming=c;
        age=b;
    }
 Person two = new Person("李四",250,"魔族");
 Person two1 = new Person("张三","魅魔",500);

对象与引用

Java 语言中除基本类型之外的变量类型都称之为引用类型。

Java中的对象是通过引用对其操作的

1)右边的“new Car()”,是以Car类为模板,在堆空间里创建一个Car类对象。

2)左边的“Car bm”创建了一个Car类型引用变量。所谓Car类的引用,就是以后可以用来指

向Car对象的对象引用。

3)”=”操作符使对象引用指向刚创建的那个Car对象。

package javaoop;

public class TestPerson {
    public static void main(String[] args) {
        Person one = new Person();
        one.name="张三";
        Person one1 = one;
        one1.name="李四";
        System.out.println(one.name);
        System.out.println(one1.name);

    }
}
李四
李四

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值