顶部左侧内容
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

揭秘Java中的面向对象模型 java面向对象的三大特征及实现方法

chargingw 2024-06-16 13:25 31 浏览

前言:

前面一系列文章讲了Java的一些语法基础知识、Java中的数据类型和Java中的运算符,基本上都是学习Java语言的基础知识,从这一讲开始将会逐步介绍Java面向对象编程的一些高级知识。所有提到Java语言特性的文章肯定都会提到Java是面向对象的,在我的一篇文章中也说了Java语言有哪些特性,这一篇文章就给大家讲讲Java面向对象这一知识,有一个面向对象的概念,为以后学习更深层次的东西打下基础。

面向对象程序设计五个特征:

在Java编程思想中提到了面向对象程序设计的五个特征:

  • 万物皆为对象。也就是说世界上所有的事物都能通过抽象变成一个可以实现的对象。比如动物、建筑物、服务。

  • 程序是对象的集合,他们通过发送消息来告知彼此所有做的。程序是把要解决的问题抽象为若干的对象,这些对象之间通过消息来通知彼此做什么和传递数据。比如:动物吃食物,这个程序包含了动物、食物两种对象,通过吃这一动作来告知动物吃食物。

  • 每个对象都有自己由其他对象构成的存储。意思是对象之间可以是包含的关系,一个对象中可以含有另外一个对象,这样就构成了一个新的对象。比如:发动机,汽车,汽车这一对象中包含发动机。

  • 每个对象都拥有其类型。每个对象都是某个类的一个实例,这个类就是抽象出来的一类事物,这个类与其他类之间的重要区别就是行为,它能接受什么样的消息。比如:动物和食物,动物有吃的行为,移动的行为,而食物是没有的。

  • 某一特定类型的所有对象都可以接受同样的消息。这是判断某一对象是不是某个类型的标准。比如你定义了动物的一些行为,比如移动,那么所有的动物都要相应移动这一消息,无论你是跑着移动、飞着移动,还是游着移动。

上面是面向对象程序设计的基本特征,下面介绍面向对象中用到的一些关键词。

类:

类描述了具有相同特性(数据元素)和行为(功能)的对象集合,也是一个数据类型。比如说动物,它有重量、大小的特征(数据元素),也有移动、吃的行为(功能)。

对象:

对象是具有状态、行为和标识的是上面类的一个实例。每一个对象都有内部数据(它描述该对象的状态)和方法(它产生行为),并且每一个对象都可以与其他对象区分开来,就是一个对象在内存中都有一个唯一的地址。在Java中对象都必须通过new来产生。

继承:

把某些具有相同属性和行为的事物抽象起来集中到一个类中,一个新类可以从这个类中派生,新类具有父类的所有的行为和特征,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类),在Java中是通过 ChildCalss extends FartherClass 这种方式实现的。

抽象:

抽象在编程中就是把你要解决的问题分解为一个一个的小问题,直到你不能再分解为止,然后把你分解的这些小问题用一个一个的对象描述对应起来,将问题集合分解为对象集合。实际中就是不断的问需要哪些服务,需要哪些对象才能履行它们的服务。良好的面向对象的的设计中,每个对象都可以很好的完成一项任务,但是它并不试图做更多的事。

多态:

多态指的是在继承关系中子类继承父类的行为,这种行为在子类具体实现时可以是不一样的。比如动物这一父类中有move()方法,在鸟类子类中和鱼类子类中move的实现是不一样的。在Java中多态是通过重写(override:把父类的方法重新实现)和重载(overload:通过方法参数的不同在子类中来重新创建名字相同的方法)来实现的。

总结:

面向对象这一知识点太大,包含了面向对象的分析、面向对象的设计和面向对象的编程,这三部分每一部分都是一个很大的课题,包含的知识不仅仅是编程领域,还有哲学等其他知识,我肯定达不到大师级的那种分析。上面对于面向对象编程一些基本概念的介绍是看书加上自己的理解,个人水平有限,对于面向对象的理解还不够深入,有写的不合适的地方还请留言,批评指正。

本文属原创,转载请注明出处,并标记下面内容,谢谢!

大家如果对编程感兴趣,想了解更多的编程知识,解决编程问题,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,请大家关注我的微信公众号:程序员互动联盟或者coder_online

相关推荐

Exchange Server 2019 实战操作指南

基本信息镜像下载地址:https://next.itellyou.cn/Original/#文档:https://learn.microsoft.com/zh-cn/Exchange/plan-and...

电脑蓝屏怎么回事(电脑蓝屏怎么回事怎样处理)

电脑在使用的过程中,突然蓝屏。电脑不定时的自动重新启动。这种情况,可以进入系统查看蓝屏日志,进行蓝屏原因分析。蓝屏日志文件位置:蓝屏分析软件:下载蓝屏分析软件DebuggingToolsfor...

Qt中编译和设置protobuf(qt 命令行编译pro)

我们在使用Qt开发做项目开发是时候,经常会进行数据的跨平台传输,就需要对数据进行序列化,序列化的方式有很多,现在项目开发最常用就是google公司开发的protobuf。今天传输播客老师就给大...

WEB安全:深入反射式dll注入技术(反射添加注解)

一、前言dll注入技术是让某个进程主动加载指定的dll的技术。恶意软件为了提高隐蔽性,通常会使用dll注入技术将自身的恶意代码以dll的形式注入高可信进程。常规的dll注入技术使用LoadLibrar...

查看系统进程进而时时警觉木马(查看当前系统的所有进程)

什么是系统的进程对于hejb的提问,不是我钻牛角尖,而是我太忙,没时间细看提问,如果我大至发现是针对主题的提问,我就答,否我就不答,见谅。最近太忙了,希望支持我,等我闲下来会好好和各位朋友交流的!!...

俄罗斯APT组织 Turla 在攻击目标系统上部署新型后门程序

思科网络安全团队Talos称,俄罗斯国家资助的APT高级持续威胁组织Turla是此前无记录的入侵美国和德国等一系列新入侵事件的幕后黑手,该APT组织创造了恶意软件TinyTurla,这个恶意软件...

Turla(又名Pensive Ursa)工具库分析

导语:PensiveUrsa工具库中最近活跃的10种恶意软件详解看过来!Turla(又名PensiveUrsa、Uroburos、Snake)是一个至少从2004年开始运行,总部位于俄罗斯的一个攻...

俄罗斯Astra推出Microsoft、Google 和 Amazon 云的自主替代品

据cnews网8月29日报道,俄罗斯AstraCloud作为AstraGroup面向商业客户,推出了MicrosoftAzure、GoogleCloud和AmazonWebServic...

微软危机!AZURE服务瘫痪引发全球Windows系统崩溃!

近日,全球范围内爆发了一场前所未有的Windows系统崩溃危机,微软公司正紧急应对。据微软发言人透露,该问题与AZURE服务相关,他们正在全力修复,并预计很快将发布解决方案。这场“微软蓝屏”事件正在...

微软宣布于2024年11月1日终止对Azure账户的TLS 1.0/1.1支持

IT之家1月11日消息,微软宣布,将取消对所有云中现有Azure账户的传输层安全性(TLS)1.0和1.1的支持。2024年11月1日后,TLS1.2将成为Azure...

微软发布0.7预览版Dev Home更新:支持Azure扩展

IT之家11月23日消息,微软今天更新了DevHome应用,推出了0.7预览版更新,最大的亮点是支持Azure扩展,其中包括AzureDevOps(ADO)和ADO小...

微软Windows Server 26280预览版发布,调整有效期

IT之家9月7日消息,微软面向WindowsServerInsider项目成员,发布了Build26280预览版更新,最大的变化就是到期日期调整为2025年9月15日...

微软发布Windows Server 2025最新预览版26244

IT之家6月29日消息,微软公司今天面向Canary频道发布Windows11Build26244预览版更新之外,还发布了WindowsServerBuild26244...

微软将CBL-Mariner Linux发行版项目更名为“Azure Linux”

IT之家3月6日消息,CBL-Mariner是适用于微软云基础设施以及边缘产品和服务的内部Linux发行版,其中CBL是指“CommonBaseLinux”,而现在该发行版似乎...

现已修复,微软Microsoft 365云服务再次出现全球性宕机

IT之家7月31日消息,在影响全球850万台设备的蓝屏故障之后,微软旗下365云服务再次出现宕机事件,包括Word、PowerPoint和Outlook等云服务应用均无法正常使...