对java的进一步理解,面向对象与封装。

java呢,我们都知道,他是一个面向对象的语言,但不知道你是不是和我有一样的疑问:对象是什么?说实话,学了一学期的java,我直到今天,才开始将java和面向对象这两个词组联系起来,期望我的回答能给你一些启迪。

万物皆对象

相信兄弟们对这句话不陌生吧,万物皆对象!
任何一个事物都可以是一对象。对象呢,他有很多不同的东西。
你并不是每个属性都要去刻画的。
比如说“表”,他有形状,有大小,有时针和分针,
有功能:记录时间。
而我们要做的是将这些东西抽象出来,
只将我们需要的那部分抽象出来。
我们需要记录时间,现在我们定义一个类来实现它的功能:
假设我们只需要他记录时间的功能,
那我们就可以把不必要的因素都去除了(形状,大小),
只留下时针,分针,秒针,来记录时间。
public class Clock {
    private int seconds;
    private int minutes;
    private int hours;
    //getter&&setter
}

这个就是特别简单的抽象。

抽象,封装

关于抽象,我理解最深,认为最重要的一点就是:有选择地抽象,你不必吧一个事物的所有行为和属性都抽象出来,但是你必须将你需要的抽象出来,独立出来。
面向对象,顾名思义。他是为对象服务的。
我看过一个小文章,开发人员其实是在造一个肯德基店,它将所有的功能和细节进行封装,将各个功能进行划分:做汉堡,做冰激淋,做炸薯条等。
在这里插入图片描述
每个功能不相干,但是彼此组合起来,就成了一个肯德基店。而顾客即我们所谓的对象,他们知道我们各个功能的名称,但不知道具体实现过程,这是封装。
也就是说我们将各个功能抽象封装起来,形成一个个的功能板块,对顾客来说,顾客只需要根据菜单选择food,等待,就可以得到自己想要的食物。而我们要做的将原材料加工成品,包装送给客户。
在这里插入图片描述

关系数据库

上了一学期的数据库课程,一直不怎么重视这门oracle课,但是最近我突然发现关系数据库建立表的过程和java抽象的过程非常接近,或者说一样,唯一不同的是java抽象的过程不只抽象属性,还抽象方法。
比如建立一个学生类,我们只抽象属性,得到了这几个属性:学号,姓名,年龄,出生日期,入学时间。那同样的,对关系数据库来说,我们同样可以创建一张类似的学生表。

姓 名年 龄学 号出 生 日 期入 学 时 间
小气鬼250100012015-01-242020-09-01

欢迎探讨!感谢阅读。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

songyitian4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值