Java-面向对象编程

面向对象编程

一、基本概念

面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它以“对象”为中心,将数据和操作封装在一起,并通过类和对象来模拟现实世界中的实体和关系。以下是面向对象编程的一些基本概念:

1.类(Class):

类是对象的抽象,它定义了一组属性(通常称为成员变量)和一组方法(对属性的操作)。在类中还可以定义构造函数、析构函数等特殊方法。

2.对象(Object):

对象是类的实例,它具有类定义的属性和方法。每个对象都有其独特的属性值和方法实现。

3.封装(Encapsulation):

封装是将数据(属性)和操作数据的代码(方法)封装在一起,形成一个独立的实体(对象)。封装有助于隐藏对象的内部状态,并控制对对象的访问。

4.继承(Inheritance):

继承是从已有的类派生出新的类,新类继承了父类的属性和方法,并且可以添加或覆盖父类的行为。继承是实现代码重用和多态的重要机制。

5.多态(Polymorphism):

多态是指同一操作作用于不同的对象,可以有不同的解释和执行。多态的实现通常依赖于继承和接口。

6.抽象(Abstraction):

抽象是通过定义抽象类和接口来隐藏对象的某些细节,只暴露必要的属性和方法。抽象有助于简化复杂的问题,并提供一致的接口。

二、基本模板

public class Student(){
int socre;
int math;
...
//变量
public void printf(){}
public int sum(){}
...
//方法

}

对象本质上是一种特殊的数据结构
class也就是,也称为对象的设计图(或者对象的模板

三、执行原理

在这里插入图片描述

四、注意事项

1.类名建议用英文单词,首字母大写,满足驼峰模式,且有意义。
2.类中定义的变量也称为成员变量(对象的属性),类中定义的方法也称为成员方法(对象的行为)。
3.成员变量表示存在默认值,在定义成员变量时一般说不需要赋值(没有意义)。
在这里插入图片描述
4.一个代码文件中,可以有多个class类,但只能一个用public修饰,且public修饰的类名必须成为代码文件名。
5.对象与对象之间的数据不会相互影响,但多个变量指向同一个对象时就会相互影响了
6.如果某个对象没有一个变量来引用它,则对象无法被操作了,该对象会成为所谓的垃圾对象。

五、this关键字

1.基本概念

this就是一个变量,可以用在方法中,来拿到当前对象

2.应用场景

this主要用来解决:变量名称冲突
在这里插入图片描述
在这里插入图片描述

六、构造器

1.模板

public class Student{
/**构造器**/
public Student(){}
}

2.特点

1.创建对象时,对象会去调用构造器

Student s=new Student();

2.创建对象时,同时完成对对象成员变量(属性)的初始化赋值
在这里插入图片描述

3.注意事项

1.类在设计时,如果不写构造器,Java是会自动为类生成一个无参构造器的。
2.一旦定义的有参构造器,Java就不会帮我们的类自动生成无参构造器了,此时就建议自己动手写一个无参构造器出来。

七、封装

1.概念

就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去。

2.设计规范

1.合理隐藏、合理暴露
2.公有成员,可以使用public(公开)进行修饰。
3.隐藏成员,使用private(私有,隐藏)进行修饰。
在这里插入图片描述

八、JavaBean(实体类)

1.特点

1.仅仅只是一个用来保存数据的Java类,可以用它创建对象,保存某个事物的数据

package com.itheima;

public class Student {
//必须私有成员变量,并为每个成员变量都提供get set方法
    private String name;
    private double socre;
//2.必须为类提供一个公开的无参构造器

    public Student() {
    }

    public Student(String name, double socre) {
        this.name = name;
        this.socre = socre;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSocre() {
        return socre;
    }

    public void setSocre(double socre) {
        this.socre = socre;
    }


}

2.应用场景

在这里插入图片描述
在这里插入图片描述
实体类对应的是软件开发里现在比较流行的开发方式,数据和数据的业务处理相分离

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值