什么是面向对象?「建议收藏」

什么是面向对象?「建议收藏」面向对象是一种思想,是相对于面向过程而言的。面向对象是将功能等通过对象实现,将功能封装进对象中,让对象去实现具体细节。面向对象的三大特征:封装性、继承性、多态性。封装性就是把对象的属性和实现的细节隐藏

大家好,又见面了,我是你们的朋友全栈君。

  面向对象是一种思想,是相对于面向过程而言的。面向对象是将功能等通过对象实现,将功能封装进对象中,让对象去实现具体细节。面向对象的三大特征:封装性、继承性、多态性。封装性就是把对象的属性和实现的细节隐藏起来,仅对外提供公共的访问方式。继承性就是两种事物间存在一定的所属关系,继承是多态的前提。多态性就是父类引用指向子类对象。面向对象的特点是:将复杂的事情简单化;从以前的过程中的执行者变成指挥者;是符合现在人们的思考习惯的一种思想。

  比如,你去饭店吃饭,你只需要到饭店,找到服务员,跟服务员说你要吃什么,然后就会给你做出来让你吃,你并不需要这道菜是怎么做的、需要什么材料。你只需要面向这个服务员,告诉他你要吃什么,然后他也只需要等你吃完向你收钱,不需要知道你怎么吃这道菜。

 

1.封装:只隐藏对象的属性和实现细节,仅对外提供公共访问方式

好处:将变化隔离、便于使用、提高复用性、提高安全性

原则:将不需要对外提供的内容隐藏起来;把属性隐藏,提供公共方法对其访问

 

2.继承:提高代码复用性;继承是多态的前提

注:

①子类中所有的构造函数都会默认访问父类中的空参数的构造函数,默认第一行有super();若无空参数构造函数,子类中需指定;另外,子类构造函数中可自己用this指定自身的其他构造函数。

 

3.多态

是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象

好处:提高了程序的扩展性

弊端:当父类引用指向子类对象时,虽提高了扩展性,但只能访问父类中具备的方法,不可访问子类中的方法;即访问的局限性。

前提:实现或继承关系;覆写父类方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155344.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深度图像基础知识(一)

    深度图像基础知识(一)深度图像(depthimage)也被称为距离影像(rangeimage),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。深度数据流所提供的图像帧中,每一个像素点代表的是在深度感应器的视野中,该特定的(x,y)坐标处物体到离摄像头平面最近的

    2022年4月25日
    39
  • busybox如何安装(如何安装busybox)

    step1.adbpushc:/busybox/mnt/sdcard/step2.用”re文件管理器”把已经拷到sdcard的busybox移动到/system/xbin目录step3.依次执行下面adb命令adbshellsumount-oremount,rw-tyaffs2/dev/block/mtdblock3/systemcd/syste

    2022年4月12日
    186
  • Laravel框架加载出错require(): open_basedir restriction in effect

    Laravel框架加载出错require(): open_basedir restriction in effect

    2022年2月14日
    45
  • CSS3选择器详解

    CSS3选择器详解一、CSS3选择器分类1.基本选择器2.层次选择器3.伪类选择器1)动态伪类选择器2)目标伪类选择器3)语言伪类选择器4)UI元素状态伪类选择器5)结构伪类选择器6)否定伪类选择器4.伪元素5.属性选择器二、基本选择器语法这里着重说一下群组选择器(selector1,selector2,…,selec

    2022年7月27日
    5
  • Lighttpd 配置fastcgi

    Lighttpd 配置fastcgihttp://my.oschina.net/davehe/blog/108107        在配置之前,先了解下lighttpd和fastcgi.            Lighttpd相信大家都使用过,它是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的webserver中较为优秀的一个

    2022年7月27日
    6
  • DEDECMS点击主栏目默认显示第一个子栏目列表的方法

    DEDECMS点击主栏目默认显示第一个子栏目列表的方法

    2021年9月24日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号