面向对象

1、面向对象的关系

前期面向过程(强调功能行为)>>面向对象(将功能封装进对象,强调了具备了功能的对象)

  • 面向对象是相对面向过程而言

  • 面向对象三个特征:封装、继承、多态。

  • 类与对象的关系:

    • 类就是对现实生活中事物的描述
    • 对象就是这些事物实实在在存在的个体
  • 属性对应类中变量,行为对应类中函数:

    其实定义类,就是在描述事物,就是定义属性和行为,属性和行为共同成为类中的成员(成员变量和成员方法)

class CarDemo
{
    public static void main(String[] args)
    {
        Car c=new Car();
    }
}
class Car
{
    string color="红";
    int num=4;
    void run()
    {
        System.out.println("color="+color+"num="+num);
    }
}
  • Java中的指挥方式:对象.对象成员;(C.color=”blue”;)

2、成员变量与局部变量

成员变量:作用于整个类中——>堆内存中。
局部变量:作用于函数/语句中——>栈内存中。

3、匿名对象

使用方式:

(1)当对象的方法只调用一次时使用,这样比较简化,如果对一个对象进行多次调用,必须起名。

(2)将匿名对象作为实际参数进行传递。

4、封装

  • 定义:隐藏对象的属性与实现细节,仅对外提供公共访问方式。 -

  • 优点:将变化隔离,便于使用,提高复用性,提高安全性。

  • 原则:将不用对外提供内容都隐藏起来,把属性都隐藏,提供公共方法进行访问。

之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断语句,对访问的数据进行操作,提高代码的健壮性。

class Person
{
    private int age;
    //private私有,权限修饰符,用于修饰(成员变量成员函数)
    public void setAge(int a)
    {
        age=a;
    }
    public int getAge() 
    {
        return age;
    }
    void speak()
    {
        System.out.println("age="+age);
    }
}
class PersonDemo
{
    public static void main(String[] args)
    {
        Person p=new person();
        p.setAge(20);
        p.speak();
    }
}

5、构造函数

  • 特点:①函数与类名一致②不用定义返回值类型③不用return语句。

  • 作用:给对象进行初始化。

  • 构造函数与一般函数在运行上有不同

    构造函数在对象一建立就运行,给对象初始化。而一般方法是对象调用才执行,给对象添加对象具备的功能。一个对象的建立,构造函数只运行一次,而一般函数,可被调用多次。

  • 具体什么时候使用:

    分析事物时,该事物存在具备一些特性或行为。那么,将这些定义到函数中。

6、构造代码快

  • 作用:给对象进行初始化。

    -区别:构造代码快是对象一建立就运行,优先于构造函数执行,并且所有对象统一初始化,构造函数是对应的对象初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值