当前位置: 首页 > news >正文

网站建设亿玛酷给力5公司网站建设安全的风险

网站建设亿玛酷给力5,公司网站建设安全的风险,程序员在线咨询,广东商城网站建设多少钱一、对象导论 1.抽象过程   Alan Kay曾经总结了第一个成功的面向对象语言、同时也是Java所基于的语言之一的Smalltalk的五个基本特性#xff0c;这些特性表现了纯粹的面向对象程序设计方式   1#xff09;万物皆对象。   2#xff09;程序是对象的集合#xff0c;它们…一、对象导论 1.抽象过程   Alan Kay曾经总结了第一个成功的面向对象语言、同时也是Java所基于的语言之一的Smalltalk的五个基本特性这些特性表现了纯粹的面向对象程序设计方式   1万物皆对象。   2程序是对象的集合它们通过发送消息来告知彼此所要做的。要想请求一个对象就必须对该对象发送一条消息。更具体的说可以把消息想象为对某个特定对象的方法的调用请求。   3每个对象都有自己的由其他对象所构成的存储。换句话说可以通过创建包含现有对象的包的方式来创建新类型的对象。   4每个对象都拥有其类型。按照通用的说法“每个对象都是某个类(class)的一个实例(instance)”。每个类最重要的区别于其他类的特性就是“可以发送什么样的消息给它”。   5某一特定类型的所有对象都可以接收同样的消息。  2.每个对象都有一个接口   所有对象都是唯一的但同时也是具有相同的特性和行为的对象所属类的一部分。   每个对象都只能满足某些请求这些请求由对象的接口(interface)所定义。接口确定了对某一特定对象所能发出的请求。但是程序中必须有满足这些请求的代码。这些代码和隐藏的数据一起构成了实现。 3.每个对象都提供服务   将对象想象成是”服务提供者“。这样做的好处之一有助于提高对象的内聚性。高内聚是软件设计的基本质量要求之一这意味着一个软件构件的各个方面”组合“的很好。   我们经常遇到的问题是将过多的功能都塞在一个对象里。在良好的面向对象设计中每个对象都可以很好地完成一项任务但是它并不试图做更多的事。 4.被隐藏的具体实现  将程序开发人员按照角色分为**类创建者**和**客户端程序员**。客户端程序员的目标是收集各种用来实现快速应用开发的类。类创建者的目标是创建类这种类只向客户端程序员暴露必需的部分而隐藏其他部分。 访问控制的第一个存在原因就是让客户端程序员无法触及他们不应该触及的部分让他们清晰地应用服务第二个原因就是允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员。5.复用具体实现  组合使用现有的类合成新的类经常被视为”has-a”关系。   创建新类时优先选择组合。  6.继承   可以创建一个基类型来表示系统中某些对象的核心概念从基类型中导出其他类型来表示此核心可以被实现的各种不同方式。   所有可以发送给基类对象的消息同时也可以发送给导出类对象。由于通过发送给类的消息的类型可知类的类型所以这也就意味着导出类与基类具有相同的类型。   有两种方法可以使基类与导出类产生差异。第一种直接在导出类中添加新方法。这意味着基类不能满足你的所有需求因此必须添加新方法第二种是改变基类的方法即覆盖(override)。  “是一个”与“像是一个”关系   is-a继承只覆盖基类的方法结果可以用一个导出类对象来完全替代一个基类对象。被视为纯粹替代。   has-a新类型具有旧类型的接口但还包含其他方法基类无法访问新添加的方法。 7.伴随多态的可互换对象   在处理类型的层次结构时通常想把一个对象不当作它所属的特定类型来对待而是将其当作其基类的对象来对待。这样我们能编写出不依赖特定类型的代码。   一个非面向对象编程的编译器产生的函数调用会引起所谓的前期绑定这意味着编译器将产生对一个具体函数名字的调用而运行时将这个调用解析到将被执行的代码的绝对地址。   面向对象程序设计语言使用了后期绑定的概念。当对象发送消息时被调用的代码直到运行时才能确定。编译器确保被调用方法的存在并对调用参数和返回值执行类型检查但是并不知道将被执行的确切代码。为了执行后期绑定Java使用一小段特殊的代码来代替绝对地址调用。这段代码使用在对象存储的信息来计算方法体的地址。这样根据这一小段代码的内容每一个对象都可以具有不同的行为表现。当向一个对象发送消息时该对象就能够知道这条消息应该做些什么。   把导出类看做是它的基类的过程称为向上转型。 8.单根继承结构   所有类都继承自Object。   单根继承结构保证所有对象都具备某些功能。   单根继承结构使垃圾回收器的实现变得容易得多。 9.容器   存储不定数量的对象。  参数化类型   Java SE5之前容器存储的对象都只具有Java中的通用类型Object。因为Object可以存储一切东西。但这种做法在涉及具体应用时则很危险因为向下转型是不安全的程序员需要花更多精力来处理正确的转型。   参数化类型机制则可以解决此问题。参数化类型就是一个在编译中可以自动定制作用于特定类型上的类。称之为范型。 10.对象的创建和生命期   怎样才能知道何时销毁这些对象当处理完某个对象之后系统某个部分可能还在处理它。   对象的数据位于何处怎样控制对象的生命周期这里有两种方式 第一种是追求效率对象的存储空间和生命周期可以在编写程序时确定通过将对象置于堆栈它们有时被称为自动变量或限域变量或静态存储区域内来实现。第二种是在被称为堆的内存池中动态地创建对象。这样直到运行时才知道需要多少对象、生命周期以及具体类型。  因为存储空间是在运行时被动态管理的所有需要大量的时间在堆中分配存储空间这可能要远远大于在堆栈中创建存储空间的时间。在堆栈中创建存储空间和释放空间通常各需要一条汇编指令即可分别对应将栈顶指针向下移动和将栈顶指针向上移动。创建堆存储空间的时间依赖于存储机制的设计。   动态方式有这样一个一般性的逻辑假设对象趋向于变得复杂所以查找和释放存储空间的开销不会对对象的创建造成重大冲击。   Java完全采用了动态内存分配方式。每当想要创建新对象时就要使用new关键字来构建此对象的动态实例。   对于允许在堆栈上创建对象的语言编译器可以确定对象的存活时间并可以自动销毁它。然而如果是在堆上创建对象编译器就会对它的生命周期一无所知。因此Java提供了被称为“垃圾回收器”的机制它可以自动发现对象何时不再被使用并继而销毁它。 11.异常处理处理错误   大多数错误处理机制的主要问题在于它们都依赖于程序员自身的警惕性这种警惕性来源于一种共同的约定而不是编程语言所强制的。   异常处理直接把错误处理直接置于编程语言中有时甚至置于操作系统中。   注意异常处理并不是面向对象语言的特征。 12.并发编程   在计算机编程中有一个基本概念就是在同一时刻处理多个任务的思想。许多程序设计问题都要求程序能够停下正在做的工作转而处理某个其他问题然后再返回主进程。   我们只需把任务切分成多个可独立运行的部分从而提高程序的响应能力。在程序中这些彼此独立运行的部分称之为线程上述概念被称为“并发”。   但有一个隐患共享资源。如果有多个并行任务都要访问同一项资源那么就会出问题。解决问题的方法是某个任务锁定某项资源完成其任务然后释放资源使其他任务可以使用这项资源。 13.Java与Internet 待补。。。。看不懂 14.总结   Java程序中只包含以下两部分内容用来表示问题空间概念的对象而不是有关计算机表示方式的相关内容以及发送给这些对象的用来表示在此空间内的行为的消息。   这一章的内容很广泛还需要全面学习之后再回来总体把握精髓。转载于:https://www.cnblogs.com/fht-litost/p/8306870.html
http://www.pierceye.com/news/868138/

相关文章:

  • 现在网站一般都是什么语言做的软件著作权证书
  • html5在网站建设中的本地环境wordpress修改php.ini
  • wap电影网站建设宁波谷歌seo推广
  • 中国建设银官方网站WordPress国内开发主题
  • 芜湖seo网站优化域名邮箱免费注册
  • 做宠物网站需要实现什么功能成都建工网站
  • jsp购物网站开发 论文海口澄迈县建设局网站
  • 单页销售网站制作制作花都区网站建设
  • 如何建立自己的购物网站discuz手机模板
  • 网站被刷流量怎么办wordpress fold主题
  • 做的新网站网上搜不到临沂免费做网站
  • 高端大气的网站制作建筑人才网下载
  • 如何快速提升网站关键词排名综合服务平台一站式服务平台网站开发
  • 阿土伯 是做网站的吗建设厅国网查询网站
  • 天长哪个广告公司做网站中国菲律宾汇率换算
  • 动漫在线制作网站wordpress get_template_part
  • 肇庆高端品牌网站建设住建部网站资质查询中宏建设集团
  • 扁平化网站模板下载莱西网站建设哪家好
  • 用vis做的简单网站网站建设需求方案pdf
  • 怎么免费做网站视频教学沈阳网站备案
  • 徐州有哪些网站制作公司太原住房和城乡建设部网站
  • 专门做摩托车的网站注册域名阿里云
  • 做个简单的网站建站公司费用
  • 网站建设举措网站免费建站方法
  • 遵义市双控体系建设网站wamp wordpress安装
  • 厦门的网站建设公司龙岗网站-建设深圳信科
  • 上海网站建设q.479185700強成都上界品牌设计事务所
  • 产品设计优秀网站做网站申请多少类商标
  • 中国行业网站贵州网站建设seo优化
  • 网站部兼容ie6没有防盗链的网站