java面向对象三大特征及五大原则

java面向对象三大特征及五大原则java面向对象一、java面向对象的三大特征1、封装(Encapsulation)封转是指属性私有化根据需要提供setter和getter方法来访问属性隐藏具体属性和实现细节,仅对外开放接口控制程序中属性的访问级别目的:增强数据安全性,不能让其他用户随意访问和修改数据,简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员2、继承(Extend)继承是指将…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

java面向对象

一、java面向对象的三大特征

1、封装(Encapsulation)

封转是指属性私有化

  • 根据需要提供setter和getter方法来访问属性
  • 隐藏具体属性和实现细节,仅对外开放接口
  • 控制程序中属性的访问级别

目的:增强数据安全性,不能让其他用户随意访问和修改数据,简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员

2、继承(Extend)

继承是指将多个相同的属性和方法提取出来,新建一个父类

  • java中一个类只能继承一个父类,且只能继承访问权限非private属性和方法
  • 子类可以重写父类中的方法,命名与父类中同名的属性

目的:代码复用

3、多态

多态(Polymiorph)可以分为两种:设计时多态、运行时多态

设计(编译)时多态:即重载(Overload),是指java允许方法名相同而参数不同(返回值可以相同也可以不同),同一个类中允许存在一个或多个以上的同名函数,只要参数类型或参数个数不同即可

运行时多态:即重写(Override)必须是在继承体系中,子类重写父类方法,JVM运行时根据调用该方法的类型决定调用那个方法

目的:增加代码的灵活度

总结:

1、java中应尽量减少继承关系,以降低耦合度

2、使用多态时,父类在调用方法时,优先调用子类的方法,如果子类没有重写父类的方法,则再调用父类的方法

3、java访问控制符作用范围表:

本类 本包 子类 外部包
public
protected X
default X X
private X X X

✓:可以访问 X:不可访问

二、java面向对象的五大原则

单一职责原则:一个类,最好只做一件事,只有一个引起它变化。每个类应该实现单一的职责,如果不是,那就把类拆分

开放封闭原则:对扩展开放,对修改封闭

里氏替换原则:子类必须能够替换其基类,里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现

依赖倒置原则:依赖于抽象接口,不要依赖于具体实现,简单来说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户于与实现模块间的耦合

接口隔离原则:使用多个小的专门接口,而不是使用一个大的接口

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159958.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 面试springbean的生命周期_session生命周期面试

    面试springbean的生命周期_session生命周期面试笑了

  • dsp调音软件通用吗_交叉火力dsp调音数据下载

    dsp调音软件通用吗_交叉火力dsp调音数据下载18。为什么在CCS下编译工具工作不正常?在CCS下有部分客户会碰到编译工具工作不正常,常见错误为:1)autoexec.bat的路径“outofmemory”。修改autoexec.bat,清除无用的PATH路径。2)编译的输出文件(OUT文件)写保护,无法覆盖。删除或修改输出文件的属性。3)Windows有问题。重新安装windows。4)Windows下有程序对CCS有影响。建议用一…

  • Java常用的输入输出语句「建议收藏」

    Java常用的输入输出语句「建议收藏」对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法首先输出大家最熟悉的莫过于输出方法,直接用System.out.println()或者System.out.print()了下面一个实例1234567publicclassMain{    publicstaticvoidmain(Str…

  • 在Ubuntu16.04 安装RabbitVCS[通俗易懂]

    在Ubuntu16.04 安装RabbitVCS[通俗易懂]系统:Ubuntu16.041、添加源将rabbitvcs的添加到源里面。(首次操作会提示是否要添加到源里面,点击ENTER添加,Ctrl+C不添加),这里选择ENTER方便更新。sudoadd-apt-repositoryppa:rabbitvcs/ppa2、导入key如果第一步出现已经导入key的提示,此步骤可以省略sudoapt-keyadv–keyserverkeyserver.ubuntu.com–recv-keys34EF4A..

  • Tabnine 激活码破解方法【注册码】

    Tabnine 激活码破解方法【注册码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 深入浅析Mysql联合索引原理 之 最左匹配原则。

    深入浅析Mysql联合索引原理 之 最左匹配原则。前言之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,最近面试时和大牛交流中,发现遗漏了些东西,这里自己整理一下这方面的内容。最左前缀匹配原则在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:CREATETABLE`student`(`Id`int(11)unsign…

发表回复

您的电子邮箱地址不会被公开。

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