欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程语言 > java >内容正文

java

大白话系列之java-ag凯发k8国际

发布时间:2024/10/8 java 0 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 大白话系列之java_大白话系列之——java的面向对象思想 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、举例理解面向对象

说到面向对象的思想,有一句话不得不说:万物皆对象,万物皆可归类

什么意思呢?

就是说在面向对象的思想里它认为只要是存在的事物,它都是一个实例对象,都能找到一种或多种属于它的归类。

比如说有一个学生张三,你可以把他归类于人类,也可以把它归类于学生类等等;

再比如说你们家的猫,你可以把它归类于动物类,也可以把它归类于猫科类。

所以,类具体的怎么去定义,是看你从哪个角度去思考它了。总之一个东西只要它存在,你就肯定能给它归个类,就算是遇到非常非常非常极端的情况,比如你家里有某一个东西,这种东西在世界上只有它一个,那也能给他归个某某某类,只不过这种类里只有它一个对象而已。

所以在面向对象的思想里,它认为所有东西都是对象,这些东西它都至少都属于某一个类,这就是万物皆对象,万物皆可归类。

那有了面向过程以后,为什么还要出现面向对象呢?这种思想有什么好处?

2、面向对象和面向过程对比

(1)、面向对象是相对于面向过程而言的

(2)、面向对象和面向过程都是一种思想

(3)、面向过程强调的是功能行为

(4)、面向对象是将功能行为封装进对象,强调的是具备了功能的对象

为了更清晰直观的理解它俩的区别,下面举个经典的例子:把大象放进冰箱需要几步

左边就是经典的面向过程的思想,它是强调打开,存储,关闭的每一个具体的动作。

右边是面向对象的思想,它是强调先把打开,存储,关闭这些动作封装到冰箱里,然后搞一个冰箱对象,然后调用对象的动作

面相对象这么做有什么好处呢?

大家可以想想,之前面向过程的时候你需要面向许许多多具体的方法函数一个一个去调用它们;

现在面向对象呢?你只需要找到某个对象,你只需要面向一个对象就好了,调用它的方法就搞定了。

3、类与对象的关系

类:是对某一类具有共同特征的事物的描述;

对象:就是这类事物实实在在存在的个体,是根据类产生出的具体实例。

那思考一个问题,是先有类还是先有对象啊?

这个问题怎么回答都对,如果你说先有类后有对象,这是从计算机编程语言角度去说的;

如果你说先有对象后有类,这是从现实生活中去说的,因为是现有了生活中实实在在的事物,我们才能去归类对它进行描述。

关于类和对象的关系,我们还是举例说明

现实生活中的对象:张三、李四,这两个学生

我们要描述他们:提取对象中共性的内容,对具体的对象进行抽象

描述时发现这些对象的共有特性有:姓名、年龄、性别、会写字,会学习技能等等,这些特征就可以描述出学生这一类事物

但是张三、李四,这些实实在在存在的个体,他们又有不同的姓名、年龄、性别等

映射到java中,上边的“描述”就是用class关键字定义的类;

上边的“对象”就是对应java在堆内存中用new关键字建立的实体。

下面用代码简单的体现一下

package com.cj.study.object;

//通过class来描述student学生类

public class student {

private string name;

private int age;

private string sex;

public student(){}

public student(string name,int age,string sex){

this.name = name;

this.age = age;

this.sex = sex;

}

public void write(){

system.out.println("写字。。。");

}

public void study(){

system.out.println("学习。。。");

}

}

package com.cj.study.object;

public class studenttest {

public static void main(string[] args) {

//通过new在堆内存中产生对象实例

student zhangsan = new student("张三",18,"男");

student lisi = new student("李四",20,"女");

//有了对象以后,可以调用对象的方法

zhangsan.write();

zhangsan.study();

lisi.write();

lisi.study();

}

}

以上就是对面向对象的一些理解和总结

大概了解了面向对象是怎么回事后,后边会陆陆续续的讲一下面向对象的几个特性:封装、继承、多态、抽象

总结

以上是ag凯发k8国际为你收集整理的大白话系列之java_大白话系列之——java的面向对象思想的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图