面向对象1

本文介绍了面向对象编程的基本概念,对比了面向过程和面向对象的区别。以Java为例,详细阐述了类的结构,包括成员变量、方法、构造方法以及内部类。通过实例展示了如何创建对象并调用方法,同时解释了构造方法的作用和方法重载的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象

面向对象和面向过程

面向过程(POP)

面向过程侧重的是过程,第一步要干嘛,第二步要干嘛,第三步要干嘛,是一步步实现的。

例如:将衣服装进衣柜

第一步:打开衣柜;第二步:将衣服装进衣柜;第三步:关上衣柜;

面向对象(OOP)

何为对象?对象就是我们能够看到的,真实存在的。

面向对象侧重的是对象,它先设计,对现实中客观事物进行分类,创建出类(在类中定义功能),创建出具体的对象,让对象去做具体的事情

Java类与对象

类:是对现实事物的抽象;实际生活中,先有对象再有类。

类是一个模板,它描述一类事物的属性和行为的集合;是表示一个客观世界某类群体的一些基本特征抽象.。

在实际中造车:1.先画图纸;

​ (1)定义车的属性信息:颜色,价格,名字等等;

​ (2)定义车的动作:车跑;

​ 2.拿着画好的图纸找工厂造车。

类:即画的图纸

属性:这一类事物所用有的共同属性;

动作:这一类事物共同能执行的功能;

对象:使用类创建的某一个具体的东西(对象能干什么取决于其在类中如何定义);

类的结构:

成员变量:事物属性的描述(属性直接写在类中的变量);

方法:事物的行为;(可以做的事情)

构造方法:用于创建对象,在构造方法中为创建的对象初始化赋值;

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

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

代码实现:
public class Car{
 String color;//定义颜色
 float price;//定义价格
 int name;//姓名
}

//构造方法(成员方法)
public void run(){
System.out.println("车能跑")}

//创建对象
public static void main(String[] args){
Car bc = new Car();//bc为引用类型,可初始化,也可不用初始化
}

new Car() ——> 创建对象(在创建对象时,会从类中向对象中复制一份成员变量)

类 引用(引用类型) = new 类( );

面向对象和面向过程的设计思想

构造方法:

作用:用来初始化新创建的对象;

特点:构造方法名与类名相同,没有返回值,且不需要void来修饰;在无参的构造方法中为新建的对象用默认值初始化赋值;

​ 每个类中都至少有一个构造方法,也可以有多个;

​ 每创建一个对象时,至少调用一个构造方法;

​ 如果类中无构造方法,默认会提供一个无参的,一旦定义有参的构造方法,默认的会失效。

方法的重载

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

方法的参数数量,参数类型,参数顺便至少有一个不同;调用时,会根据不同的参数表选择对应的方法。

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

public class Person {
    public int person(int a,int b){
        System.out.println("原方法");
        return a+b;
    }
    //参数的数量不同
    public int person(int a,int b,int c){
        System.out.println("参数数量不同");
        return a+b+c;
    }
    //参数的类型不同
    public int person(int a,String age){
        System.out.println("参数类型不同");
        return a;
    }
    //参数的顺序不同
    public int person(String age,int a){
        System.out.println("参数顺序不同");
        return a;
    }

    public static void main(String[] args) {
        Person x = new Person();
        System.out.println(x.person(1 ,2));
        System.out.println(x.person(1,2,3));
        System.out.println(x.person(1,"李四"));
        System.out.println(x.person("李四",1));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值