JAVA_Basis -- 4. 1 面向对象

1.什么是面向对象

1.1 引入

在Java语言的开发中有一中说法是:世间万物皆对象,即花鸟鱼虫,飞禽走兽点均可以是对象,那么我要去思考的是如何把这些对象用编程的思想去理解,又如何去展示?java

1.2 概念

面向对象是相对于①面向过程的,经过对现实世界进行②理解和抽象的方式,把复杂的事物变得简单的一种③编程思想(OOP Object Oriented Programming)编程

①面向过程:(Procedure Oriented)是一种以过程为中心的编程思想,是以什么正在发生为主要目标进行编程。
②理解和抽象:现实世界中的一切事物都有两个特性,即静态的属性(一个事物的名字,性质等)和动态的方法(登山,读书,打篮球等)。这些事物都有公共的部分,例如静态的标识一个事物的ID,名字...,又例如动态的表示事物方法的动,静...在以编程的方式呈现这些对象的时候就能够把这些事物都有的静态属性和动态方法抽取出来,只写一份让全部对象使用,就能够大大简化代码了,这就是编程的思想中的抽象。安全

1.3 对于类和对象的理解

image.png

1.3.1 类

类就是一类事物的统称(人类),是Java语言的基本单位,是事物的模板和设计图。spa

1.3.2 对象

对象是对类的具体化(小明),对象的状态来描述对象的基本特征,对象的行为用来描述对象的功能,对象的惟一标识指的是对象在内存中的惟一地址,用来和其余对象区分。设计

1.4 面向对象的特征

1.4.1 封装

经过类这个载体把对象的属性和行为封装为“类组件”,对于客户影藏具体的实现细节,只提供公共的访问方法,一方面提升了程序的安全性,一方面提升了代码的重用性,是面向对象的核心。3d

1.4.2 继承

子类自动继承父类的属性和方法,使得子类在遇到和父类一样的问题时,就能够用父类的方法来解决,实现了复用,是类与类之间的关系表现形式。code

1.4.3 多态

将父类对象应用于子类的特征就是多态,加强了软件的灵活性和重用性。对象

1.5 面向对象的语法

1.5.1 类的建立和使用

package com.mtingcat.javabasis.object;
public class Student {
    public static void main(String[] args) {
        Person tom = new Person();
        tom.name = "tom";
        tom.age = 12;
        tom.sex = "Man";
        System.out.println(tom.name+","+tom.age+","+tom.sex);
        tom.Breathe();
        tom.Move();
    }
}

class Person{
    /**
     * 1.成员变量
     *     类的属性(特征)
     *     全局变量
     */
    String name;
    int age;
    String sex;
    
    /**
     * 2.成员方法
     *     类的方法(行为)
     */
    void Breathe(){
        /*
         * 局部变量:
         *     局部变量是在方法被执行时建立,在方法执行结束时被销毁,局部变量在使用时必须进行赋值操做或者被初始
         *    化,不然会出现编译错误
         *    能够将局部变量的有效范围称之为变量的做用域,局部变量的有效范围从该变量的声明开始到该变量的结束为止
         */
        @SuppressWarnings("unused")
        String air;
        System.out.println("呼吸");
    }
    void Move(){
        @SuppressWarnings("unused")
        String power;
        System.out.println("运动");
    }
}

1.5.2 对象在内存中的存储

image.png

1.5.3 单一对象在内存中的存储

image.png
①在栈内存中,建立一个引用变量p,持有对象的地址值
②在堆内存中,建立Person对象,而且开辟变量的空间,完成初始化
③给堆内存中的元素,分配一个惟一标志,地址值。交给p去保存。
④p.name=”lisi”;p.age=20;就去堆内存中找惟一的地址值,找到Person对象,并对其属性进行修改赋值。
⑤p.eat();就去堆内存中找惟一的地址值,找到Person对象,执行Person对象的方法。blog

1.5.4 程序时如何建立对象的:

image.png

相关文章
相关标签/搜索