浅谈面向对象编程思想

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:fslihua
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:类是具有相同属性事物的抽象,对象是类中一个具体的事物,它拥有实实在在的属性值。面向对象的出发点和基本原则是尽可能模拟人类习惯的思维方式,因此它便于理解、符合逻辑,被广大IT从业人员接受和认可。
  关键词:面向对象;继承;封装;多态
  中图分类号:TP311.56文献标识码:A文章编号:1007-9599 (2011) 07-0000-01
  Thought of Object-oriented Programming
  Liu Jian,Sun Zheng,Hu Guoyu
  (Nanjing University of Posts and Telecommunications,Nanjing210046,China)
  Abstract:The class is an abstract thing with the same attribute,the object is a specific class of things,it has real property values.Object-oriented principle is the starting point and basic human habits as analog way of thinking,so it is easy to understand,logically,be accepted and recognized by the majority of IT practitioners.
  Keywords:Object-oriented;Inheritance;Package;Polymorphism
  说到面向对象就不得不提到面向过程。它出现在面向对象之前,是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后采用分支循环用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。首先必须承认面向过程可以解决所有的编程问题,但是也存在着重用性差、可维护性差、开发过程复杂等缺点。面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是软件开发方法的主流。下文这种对面向对象的编程模式进行探讨。
  一、首先介绍面向对象的基本概念
  (一)对象。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
  (二)对象的状态和行为。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
  (三)类。具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
  (四)消息和方法。对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。
  二、其次看看面向对象的特点
  (一)封装。封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
  (二)继承。面向对象编程(OOP)语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。继承概念的实现方式有三类:实现继承、接口继承和可视继承。
  (三)多态。多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
  实现多态,有二种方式,覆盖,重载。
  覆盖,是指子类重新定义父类的虚函数的做法。
  重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
  现在看看如何用面向对象的方法来解决这个问题。
  建立学生实体类StudentTo其中包括如下属性
  //姓名、年龄、性别、身高、学号
   private String name;
   private int age;
   private String sex;
   private String height;
  private String studentID;
  并提供get、set方法,有参、无参构造
  在录入方法中实例化学生类对象为student,将姓名、年龄、性别、身高、学号等的属性值赋值给student,并将student传递给老师
  StudentTo student=new StudentTo();
   student.setName("李辉");
   student.setAge(18);
   student.setHeight("1.8m");
   student.setSex("男");
   student.setStudentID("NO.009");
  老师接到传递过来的student后将学号改正后提交政教处保存
   public void check(StudentTo student){
   student.setStudentID("NO.010");}
  政教处对学生接受到正确的学生对象后,可以从学生对象中取出姓名、年龄、性别、身高和学号备份留档。这样完整的面向对象解决问题的过程就结束了,从整个流程可以看到我们操作的一直是个实例化的对象,符合逻辑思维,减少了传递的参数,减小了出错的可能性,提升了编程的效率。
  综上可以看出,面向对象操作符合人们思维习惯,它对类归纳总结,将类的成员放入对象中,大大减少了参数的传递和出错的可能。面向对象的继承、封装、多态特性也符合思维逻辑,在编程理解方面优势明显。随着时间的推移,近年来人们提出了更为先进的面向服务的概念,但是即使是面向服务也有大量面向对象的思想和影子。可以说面向对象思想直接影响了MVC编程模式,影响了人们的编程逻辑,对计算机语言的贡献无可替代。
  参考文献:
  [1]马光毅.面向对象方法研究[J].华南师范大学学报
  [2]裴发展.OO建模与UML研究[J].河北省科学院学报
  
其他文献
摘要:基于Web的气象雷达站实时监控系统是实现气象业务智能化管理的重要平台,本课题严格从系统需求分析的角度去思考,采用ASP.NET平台、Oracle数据库技术、串口编程技术实现了整个综合管理系统,通过系统,可以提高设备工作效率、强化系统管理、能够及时准确的处理设备故障,成为设备高效运行的重要保障。  关键词:Web;实时监控;气象雷达站;B/S  中图分类号:TP393.07文献标识码:A文章编
期刊
摘要:本文把某武器系统通用测试系统的需求与IETM的特点相结合,介绍了某武器系统通用测试系统IETM的总体架构、关键技术,以交互方式向使用人员讲解某武器系统和设备的设计、使用、维护、维修信息,使基层部队具备独立的某武器系统测试维修保障能力。  关键词:交互式电子技术手册;通用测试;故障诊断;维修保障  中图分类号:TN431 文献标识码:A文章编号:1007-9599 (2011) 08-0000
期刊
摘要:本文主要就虚拟专用网(VPN)在学校校园网中的应用做初浅的探索,提出校园网资源远程访问的一种安全、低廉的解决方案,为众多已建和在建的校园网提供一定的启发与参考。  关键词:虚拟专用网;VPN;校园网资源;隧道技术;路由  中图分类号:TP393.18 文献标识码:A文章编号:1007-9599 (2011) 14-0000-01  Virtual Private Network(VPN)——
期刊
摘要:随着网络的不断普及和应用,人们已经逐渐认识到计算机数据库安全的重要性。数据资源已经成为信息社会发展的基础,一旦数据库发生不安全问题,那么将会给人们和社会埋下很大的隐患。因此,必须进行计算机数据库安全管理,来提高其安全性。  关键词:计算机;数据库;安全管理  中图分类号:TP393.08 文献标识码:A文章编号:1007-9599 (2011) 14-0000-01  Talking on
期刊
摘要:本文介绍了windows2008环境下实现FTP服务器的配置过程,并对用户管理和安全设置进行了实质性的探索和研究。  关键词:windows2008;FTP协议;服务器配置;安全策略  中图分类号:TP393.04 文献标识码:A文章编号:1007-9599 (2011) 14-0000-01  Configuration and Implementation of FTP Server B
期刊
摘要:近年来,由于通信行业的快速发展,对天线的要求也随之提高。微带贴片天线以质量轻,成本低,易于制造等优点,得到广泛应用。但是普通的微带贴片天线有个重要的缺陷——带宽窄。因此,拓宽微带贴片天线的频带成为了一个重要的研究方向。  关键词:通信;天线;带宽  中图分类号:TP391 文献标识码:A文章编号:1007-9599 (2011) 14-0000-01  Broadband Patch Ant
期刊
摘要:介绍了基于指纹识别的门禁语言实验室管理系统,从教学管理及设备维护的需要出发,利用现有的校园网实现对各语言实验室的集中控制。采用指纹识别的门禁系统能够更好地管理语言实验室,大大降低管理成本。  关键词:指纹识别;门禁;管理系统  中图分类号:TP391 文献标识码:A文章编号:1007-9599 (2011) 14-0000-02  New Initiatives of Laboratory
期刊
摘要:良好的开端是成功的一半,导入新课是课堂教学的第一步,也是影响整节课教学效果的关键一步。教师如果能够设计出构思巧妙、想象奇特的导入方式,就能够把学生的注意力集中起来,使之处于最佳的活动状态,从而为课堂内容的教学奠定一个良好的基础。在这样的状态下,教师因势利导,让学生主体发挥作用,积极思维,可使学生心颜顿开,形成一种欢悦的课堂气氛,创造一个欢快的起点,不仅避免教师的传统教学给学生带来感官上疲惫,
期刊
摘要:从中等职业学校计算机应用基础课程的性质和任务出发,通过分析中等职业学校计算机教学的教学特点,对中等职业学校计算机教学中存在的不足进行了总结,提出进行教学改革、提高教学质量的基本策略和方法几点建议。  关键词:中等职业学校;计算机教学;教学思考  中图分类号:TP3-4 文献标识码:A文章编号:1007-9599 (2011) 11-0000-01  Thinking of Computer
期刊
摘要:阐述了Oracle数据库最新推出的闪回在实际环境中的应用与实践,通过闪回特性工作原理的基本描述以及实际范例,使读者对利用闪回实现数据快速恢复有更深入的了解。  关键词:Oracle;闪回;数据恢复  中图分类号:TP393.13 文献标识码:A文章编号:1007-9599(2011)07-0000-02  Oracle Flashback Features and Application  
期刊