面向对象的基本概述、内存分析、应用示例

一、面向对象的基本概述:
1、相关说明:
1)java是面向对象的语言。
2)对象:真实存在唯一的事物。
3)类: 实际就是对某种类型事物的共性属性与行为的抽取。 类并不是真实的具体例子,而是抽象的概念。

2、面向对象语言产生的原因:在现实生活中就存在对象与类这两种事物。计算机是服务于人类,为了让计算机更加接近我们的生活,这时候就出现了面向对象的计算机语言。

面向过程(C)————————面向对象(java)
动作的执行者——————————动作的指挥者

3、对象与类的关系
现实生活中 : 对象———类(由多个对象归纳出了类)
在java中: 类————>对象(有了类才能创建这个类的对象)

4、面向对象的计算机语言核心思想: 找适合的对象做适合的事情。
1)如何找适合的对象:
a)sun已经定义好了很多的类,我们只需要认识这些类,我们就可以通过这些类创建对象使用。
b)自定义类,通过自定义类来创建对象使用。

5、自定义类创建对象的三步骤:
1)自定义类
格式:

class 类名{
    事物的公共属性使用成员变量描述。
    事物的公共行为使用函数描述。
}

2)通过自定义类创建对象。
格式:

类名 变量名 =  new 类名();

3)访问(设置)对象的属性或者调用对象的功能。
a)访问对象属性:

对象.属性名;

b)设置对象的属性:

对象.属性名 = 数据;

c)调用对象的功能:

对象.函数名();

二、内存分析:
使用的类的代码:

class Car{
    //事物的公共属性使用成员变量描述。
    String  name; //名字的属性
    String  color; //颜色属性
    int wheel;  //轮子数

    //事物的公共行为使用函数描述。
    public void run(){
        System.out.println(name+"飞快的跑起来啦...");
    }
}

实例一:

实例二:

实例三:

三、应用示例:
1、需求:使用java描述一个车与修车厂两个事物。
车具备的公共属性:轮子数、 名字、 颜色 ,还具备跑的功能行为。跑之前要检测轮子是否少于了4个,如果少于了4个,那么要送到修车厂修理,修车厂修理之后,车的轮子数要补回来4个。 然后车就继续的跑起来。
修车厂: 具备公共属性: 名字、 地址、 电话。公共的行为: 修车。

2、代码:

class Car{
    String name;
    String color;
    int wheel;

    public void run(){
        if(wheel==4){
            System.out.println("车况正常,高速飞驰");
        }else{
            System.out.println("缺少轮子,需要修理");
            CarFactory cf = new CarFactory();
            //this,表示使用当前对象
            cf.repair(this);
        }
    }
}       


class CarFactory{
    String name;
    String address;
    String phone;

    public void repair(Car c){
        if(c.wheel!=4){
            c.wheel = 4;
            System.out.println("车修好了!");
        }
    }
}

class Demo1{
    public static void main(String[] args){
        Car c = new Car();
        c.wheel = 4;
        for(int i = 0;i<10;i++){
            c.run();
        }
        c.wheel = 3;
        c.run();
    }
}

3、效果:

4、初学者的经典错误:
1)变量在同一个作用域(大括号)上是可以直接访问的。
2)如果一个类要访问另外一个类变量时,那么这时候就只能通过创建对象进行访问。(仅对于目前正确)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值