面向对象(一)

面向对象编程(oop)

属性+方法 = 类

  • 对于描述复杂的事物,为从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,任然需要面向过程的思路去处理。

1.什么是面向对象

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
  • 抽象
  • 三大特征:
    • 封装
    • 继承
    • 多态
  • 从认识论的角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象
  • 从代码运行角度考虑,先有类后有对象。类是对象的模板。

2.回顾方法及加深

1.方法的定义

  • 修饰符
  • 返回类型
  • break:跳出switch,结束循环 和 return 的区别
  • 方法名: 注意规范 见名知意
  • 参数列表:(参数类型,参数名)...
  • 异常抛出:疑问,后面讲解

2.方法的调用

  • 静态方法
  • 非静态方法

非静态可以调用静态,静态不能调用非静态

  • 形参和实参
  • 值传递和引用传递
  • this关键字

3.类与对象的关系

  • 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
    • 动物、植物、手机、电脑等
    • Person类、Pet类、Car类等,这些都是用来描述/定义某一类具体的事物应该具备的特点和行为
  • 对象是抽象概念的具体实例
    • 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例
    • 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念

1.创建与初始化对象

  • 使用new关键字创建对象
  • 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
    • 1.必须和类的名字相同
    • 2.必须没有返回类型,也不能写void
  • 构造器必须掌握
package com.oop.dome02;

public class Person {

    //一个类即使什么都不写,它也会存在一个方法
    //显示的定义构造器

    String name;

    //1.使用new关键字,本质是在调用构造器
    //2.用来初始化值
    public Person(){

    }

    //有参构造:一旦定义了有参构造,无参就必须显示定义
    public Person(String name){
        this.name = name;
    }

    //alt+insert 快速插入构造器
}

/*
*  public static void main(String[] args) {

        //new 实例化了一个对象
        Person person = new Person("yehuan");

        System.out.println(person.name);
    }

    构造器:
    *   1.和类名相同
    *   2.没有返回值
    作用:
    *   1. new 本质在调用构造方法
    *   2. 初始化对象的值
    注意点:
    *   1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造
    *
    * 快捷键:alt+insert
    *
    * this.  是当前类
* */

2.创建对象内存分析

3.类与对象小结

/*
* 1.类与对象
*   类是一个模板:抽象 ,对象是一个具体的实例
* 2.方法
*   定义、调用
* 3.对应的引用
*   引用类型:基本类型(8)
*   对象是通过引用来操作的:栈-->堆
* 4.属性:字段Field 成员变量
*       默认初始化:
*           数字: 0 0.0
*           char:u0000
*           boolean:false
*           引用:null
*       修饰符  属性类型  属性名 = 属性值
* 5.对象的创建和使用
*   - 必须使用new 关键字创造对象,构造器 Person yehuan = new Person();
*   - 对象的属性  yehuan.name
*   - 对象的方法  yehuan.sleep()
* 6.类:
*      静态的属性   属性
*      动态的行为   方法
*
*   封装、继承、多态
* */
posted @   昼冷夜欢  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示