文档章节

对象之间的通信,面向对象的三大特征,封装,继承,多态;以及重写,重载

小贱是个程序员
 小贱是个程序员
发布于 2016/11/17 14:19
字数 534
阅读 15
收藏 0

对象之间的通信:
有时候,一个大的任务是需要很多个不同的对象协力来完成,这时某个对象会需要另外一个对象的职责功能来协助。
创建对象--->调用对象的方法-->返回结果。这个过程就是一次通信
 
 
封装:
隐藏内部的实现细节。
1.包具有封装的特性,控制类的访问。
2.类也具有封装的特性,控制成员(属性、行为)的访问。
3.行为本身也具有封装的特性,隐藏了功能的实现细节。
主要都是通过访问修饰符进行控制。
 
继承:
继承的前提条件是要有父类,才有继承。
继承的特点是提取子类的共性,避免重复。
重载和重写的特点:
1.重写
   只能发生在父类和子类之间,方法名、返回值类型、参数个数和类型都必须相同,访问修饰符要大于或等于父类的级别。
当父类继承的方法不能满足当前的业务场景时,子类可以重写该方法。
 
2.重载
   可以发生在父类和子类之间,也可以发生在本类当中。要求方法名相同,方法的参数个数和类型必须不同,对返回值和访问修饰符没有要求
 
多态:
   多态同样是发生在父类和子类之间或者是接口与实现类之间。
   “父类类型,子类对象。编译时看父类,运行时看子类”
   不同的子类,在不同的业务场景中可以充当其父类的角色在运行,
   看到的还是其父类的类型。
 
   重写:属于运行时多态。(在运行时决定。如果子类发生了重写,那么将执行重写后的方法)
   重载:属于编译时多态。(在编译时决定。在编译阶段就明确制定调用的是哪一个重载的方法)
 
 

© 著作权归作者所有

共有 人打赏支持
小贱是个程序员
粉丝 3
博文 42
码字总数 18418
作品 0
珠海
程序员
私信 提问
【Java】疯狂Java基础(一)——面向对象的特征:继承、封装和多态

一、前言 小编记得,刚接触计算机相关的课程的时候,接触的是c++,c++的老师一上来就说c++是面向对象的,c语言是面向过程的。面向对象比面向过程厉害,是从面向过程发展过来的的。 当时有一个...

kisscatforever
2018/03/28
0
0
java面向对象的三大特性

java面向对象的三大特性 封装,把事物封装成抽象的类,通过访问控制符把自己的成员变量和函数对不可信的进行信息隐藏以及提供方法给可信的类和对象来操作。 继承,继承可以使用现有类的所有功...

梁荣良
2016/05/09
25
0
C#基础篇--面向对象(类与对象)

1.类是什么?    类就相当于模板,就是把同一类的事物的共同特征进行的抽象。   类的创建和说明:     类是先根据一些具体的对象(实体的东西)来抽象出来的共同的特性,然后用代码来表...

me黄小峰
2013/07/21
0
0
Python基础班每日整理(五)

03面向对象day01 面向对象的简称? 面向对象编程 —— Object Oriented Programming 简写 OOP,是一种编程思想或者方式 面向对象和面向过程的区别? 面向过程是早期的一个编程思想,所有的步...

我是小谷粒
2018/07/02
0
0
java基础(第一篇)继承与组合

前言 本文讲述上篇文章《java基础(第零篇)对象与类》遗留的问题继承与组合的区别,在讲述区别之前。先讲述继承的有关概念,如果你对继承很清楚的可以直接拉到下面阅读继承与组合的区别。 ...

wyn_lin
2018/01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS5.11配置Let's Encrypt免费证书

安装环境: [root@WQ02 opt]# lsb_release -aLSB Version::core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd6......

m_lm
24分钟前
1
0
看看Canonical分享的2018年的十大Linux Snap

导读 Linux在2018年最令人耳目一新的一个方面是Snaps的普及。 Canonical透露,集装箱化的包装已经取得了巨大的成功。今天,Ubuntu制造商分享了2018年的十大Snap。 随着2018年即将结束,我发现...

问题终结者
36分钟前
2
0
天啦噜!在家和爱豆玩"剪刀石头布",阿里工程师如何办到?

阿里妹导读:如今,90、00后一代成为消费主力,补贴、打折、优惠等“价格战”已很难建立起忠诚度,如何与年轻人建立更深层次的情感共鸣?互动就是一种很好的方式,它能让用户更深度的参与品牌...

阿里云官方博客
今天
1
0
聊聊flink的Table API及SQL Programs

序 本文主要研究一下flink的Table API及SQL Programs 实例 // for batch programs use ExecutionEnvironment instead of StreamExecutionEnvironmentStreamExecutionEnvironment env = Stre......

go4it
今天
3
0
mysqldump应用

备份单个库/表数据或库/表结构 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 备份文件名 1、导出数据库为dbname的表结构(其中用戶名為root,密码为dbpasswd,生成的...

阿dai
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部