类和对象有点东西(一)

欢迎您点进这篇博客~

穹妹镇贴~XD

今天仍然是对于语法部分的一些碎碎念,如标题所言,主要是关于类和对象的;

这应该是我学Java遇到的第一个小难点了,下面听我细细道来~

什么是面向对象编程

学C语言的时候我就有听说,C语言是面向过程的编程语言,java/c++/python面向对象的编程语言。

其实面向过程我还能理解,也就是关注底层的具体实现,注重功能的实现过程。但是,面向对象?....我还是想不懂,当时也没有去深究。

这一阵学java我大概才算是真正理解了面向对象是什么意思了。

首先,面向过程一定是建立在面向过程的基础上的,因为没有底层各种功能函数的实现,我们是无法将注意力转移到要解决的问题的要素上本身的——这也就是面向对象的本质。我举个栗子:(这里想画流程图来着,但试了试用电脑还不如手写,后面一定好好学一学画图软件,要不都没法表达自己的想法呜呜呜~)

比方说我自己在家,很饿,想要吃方便面,用面向过程的思想来看,就是这样的思考过程:

饿了 —> 想吃面 —> 烧水 —> 取面 —> 水开下面 —> 加配料 —> 加鸡蛋 —> 稍微搅拌 —> 盖盖子,煮一会 —> 开盖 —> 搅拌 —> 面熟 —> 开吃!

而如果用面向对象的思想,就变成了这样的思考过程:

想吃面 —> 参与吃面问题的对象有:我,面,锅,水 —> 流程是我用锅和水用“一定方法”把面煮好 —> 开吃!

你也许会说,“一定方法”是什么鬼?没错,在面向对象的思想中,怎么实现煮面,怎么加水、加配料、煮多长时间等实现细节已经不是我们的关注重点了,也就是说,在面向对象编程中,我们主要关注的就是怎么把要煮的面、锅、水等对象构造出来,然后结合各种现有方法去把问题解决!把面煮熟!反观第一种煮面思想,恰恰就是从如何煮面入手!也就是说,实际上,面向对象的方法依赖于面向过程实现出来的函数

实际上也确实如此。在Java和python等语言的库中有相当多的内置方法,这些方法的实现,实际上大多数是由C语言完成的。这是因为C语言由于它的“古老性”和它面向过程的特性,使得C语言在操作系统和计算机的硬件交流上有很大优势,所以底层用C语言去实现,可以使得程序的运行速度非常快

什么是类,什么是对象

说完什么是面向对象思想,那在我们的Java中,究竟什么是类,什么对象呢?

还是拿上面煮面的例子来说。

在思考煮面的问题时,我们是有具体的实例,也就是对象,如锅,水还有面,而它们所属物品种类抽象出来看就是我们要说的Java里的类。锅的“类”是工具或者说电器,面和水的“类”是原料等等。

Java里的类实际上非常丰富,在我还没学类的时候,实际上已经开始用了。像是在IDEA里创建的java文件里都会有最少一个public类,甚至8种基本数据类型都各自有一个类所属,而我们创建的变量实际上就是用这些类所创建出来的实例化对象,我们称之为对象

当然,在实际应用和解决问题中,我们所说的对象更多的是依据我们自己构建的类而创建出来的对象,像是

public class Student {
    public int number;
    public String name;
    public static void main(String args[]){
        Student student = new Student();
        student.name = "七七";
        student.number = 2023;
        System.out.println(student.name);
        System.out.println(student.number);
    }
}

这段代码中就用定义好的Student类定义了一个student实例对象,并通过“.”符号对该对象中的"name"和"number"成员变量进行了访问并修改。

好了,关于类和对象的基本思想概念到这里就介绍完了,但是关于这一部分,还有许多比较难理解的细节和特性,这一点我放到下一篇来讲。问就是因为今天不想写了呜呜呜~过两天考马原,还要复习~

以上就是这篇博客的所有内容了,感谢您能看到这里,喜欢这篇博客就点个免费的赞吧,欢迎和我交流Java知识!更欢迎您能指出我博客里的不足之处!

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值