`

oo编程思想

    博客分类:
  • java
 
阅读更多
http://hi.baidu.com/mark007/blog/item/de07ad8b585209d2fc1f1028.html
1.抽象 

       oo设计主要任务是将设计尽量和现实世界的事务一致化。尽量使程序设计的思路符合现实世界事务的规律。类和对象 是oo编程中最重要最基本的两个元素,在设计时,先将找到要处理的各个对象,再找到各个对象的共同的祖先,逐层抽象。最后确立各个类之间的继承关系。

     接口和抽象类的选择:取决与设计者最初的意图,抽象类只能继承,而继承的子类和父类在本质上是同一类事务。接口的实现,则是使得某个类具有某种功能,也可以通过其他的途径来到达这种目的。

    【续】java中接口有标识接口,常量接口和方法接口,(命名可能各有不同)@标识接口中没有任何的属性和方法,是个空接口,作为某一类类的标识,起到标识的作用。像API中的Serializableble接口,作为序列化的标识接口,告诉虚拟机在对实现该接口的类的对象是可序列化的。像我们通常在给实体类定义一个VO接口作为他们的标识,而有利于dao层的处理类更方便的处理数据,不必为传如参数的纷繁复杂而杂乱无章,同时也为以后程序的扩展提供的可行性。    @常量接口作为一些程序当中经常要用的的数据或经常(以后)会改变的数据的保存类,因为接口中的属性默认都是static final 的,正好用来保存常量。   @方法接口是最常见的一种接口了,是按特定的处理要求定义了对该功能的处理方法(方法实现的要求)。dao层的数据处理是往往有些特殊处理是每个类都必须要有的,通过抽象,我们就可以定义dao层的接口来处理,建立代码的层次,同时为扩展开放。

       java是面向接口编程,而不是面向实现编程!

2.封装 

     封装:封装是面向对象的另一个重要特性(也许并不是面向对象所特有)。面向对象的重要原则是对修改关闭,对扩展开放--即开关原则。“封装”之后的代码是不能或最好不要去修改的,至少不要修改太多,而要对原有的“可重用的”代码进行扩展确又是必须的,这就是开关原则讲的内容。

     迪米特法则(高内聚,低耦合)----不要和陌生人说话

       (1)----同一类中,方法与方法之间的相互调用强度要高于不同类之间的方法的调用强度。

       (2)-----同一包下,不同类之间的方法的相互调用强度要高于不同包之间的方法的调用强度。

    我们恰恰可以利用多太来实现这些要求,我们在程序的设计和封装后六有“接口”给后来“备用”,利用反射和动态代理来实现java程序的“动态性”在java程序运行时加载某些我们后来添加的功能和模块。
分享到:
评论

相关推荐

    C_OO思想编程

    **C++面向对象编程概述** C++是一种强大的、通用的编程语言,以其支持面向对象编程(Object-Oriented Programming, OOP)而闻名。面向对象编程是一种编程范式,它基于“对象”的概念,其中对象包含数据(属性或成员...

    hibernate基础实验

    (2) Hibernate对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用OO编程思想来处理数据库。 (3) Hibernate采用映射元数据来描述对象-关系的映射细节,元数据通常采用XML。 (4) 关系数据库中的元组...

    Java学生管理系统:基于控制台的应用,涵盖学生信息的基本操作及其实现方式

    使用场景及目标:此案例非常适合用作教学工具,以展示Java的关键概念和技术特性,例如OO编程思想、数据封装与抽象、异常处理等。 其他说明:文中附带了完整的代码样例和简明的操作指南,便于读者快速上手实验并深入...

    Java猜拳小游戏源代码.pdf

    Java猜拳小游戏源代码 本资源是一个Java猜拳小游戏的源代码,包括两个Java类:Computer和Game。下面是对该游戏的解释和知识点总结: ...通过学习和分析该代码,可以提高读者的Java编程能力和OO编程思想。

    学士学位论文—-基于android系统的人事管理系统设计与实现.doc

    在设计和实现过程中,我们遵循了OO编程思想,使用了面向对象的设计方法,确保系统的高效、可靠和可维护性。 系统的测试结果表明,系统能够正确地实现人事管理的各项功能,满足用户的需求。同时,系统的性能和安全性...

    《java面向对象编程》(孙卫琴)part2

    大家都知道孙卫琴的java系列书籍吧,这本是china-pub上Java学习的畅销书,深入浅出,通俗易懂,对于Java初学者,程序员以及学习OO编程思想的人会很有帮助。一共三个part,全部下载后即可解压。

    《java面向对象编程》(孙卫琴)part1

    大家都知道孙卫琴的java系列书籍吧,这本是china-pub上Java学习的畅销书,深入浅出,通俗易懂,对于Java初学者,程序员以及学习OO编程思想的人会很有帮助。一共三个part,全部下载后即可解压。

    《java面向对象编程》(孙卫琴)part3

    大家都知道孙卫琴的java系列书籍吧,这本是china-pub上Java学习的畅销书,深入浅出,通俗易懂,对于Java初学者,程序员以及学习OO编程思想的人会很有帮助。一共三个part,全部下载后即可解压。

    java持久层框架对比

    - 遵循OO编程思想,支持继承、多态等特性,有助于代码重用。 - **缺点**: - 学习门槛相对较高,特别是对于高性能需求的应用。 - 不适用于数据库模式不规范或需要大量复杂查询的系统。 #### iBatis (MyBatis)...

    23种设计模式,OO思想

    标题和描述中提到的“23种设计模式,OO思想”,是软件工程领域的一个核心概念,尤其是对于面向对象编程(Object-Oriented Programming,简称OO)的深入理解和实践至关重要。设计模式是由Erich Gamma、Richard Helm、...

    刚学C#OO思想做的中国象棋

    【标题】"刚学C#OO思想做的中国象棋"所涉及的知识点主要集中在C#编程语言和面向对象(Object-Oriented Programming, OOP)的设计原则上。在这个项目中,开发者试图运用C#来实现中国象棋的逻辑,这需要对C#的基本语法...

    C++编程思想

    《C++编程思想》是C++编程领域的一本经典教材,作者通过深入浅出的方式讲解了C++语言的核心概念及其面向对象编程(OOP)的精髓。本书不仅是初学者学习C++语言的重要指南,也为已经掌握C++的读者提供了进一步深入学习...

    Java编程思想:面向对象的逻辑思维方法.doc

    ### Java编程思想:面向对象的逻辑思维方法 #### 面向对象的设计思想概述 面向对象(Object-Oriented, OO)是一种编程范式,它强调以对象为核心,通过对象来构建程序。对象包含了数据(属性)和行为(方法),并...

    OO及UML教程

    在学习OO编程时,首先需要理解的是类(Class)、对象(Object)、继承(Inheritance)、封装(Encapsulation)和多态(Polymorphism)这五个基本概念。类是对象的模板,定义了一组属性(Attributes)和操作(Methods...

    北航OO课作业代码

    通过分析这个“北航OO课作业代码”,我们可以不仅学习到Java语言的基本用法,还能掌握面向对象编程的核心思想,以及如何在实际项目中应用这些知识。对于想要提升编程能力、理解和实践面向对象编程的同学来说,这是一...

    用OO写键盘游戏

    通过编写键盘游戏,学员可以实际操作,体验这些概念在实际项目中的应用,从而更好地理解和掌握OO编程的思想。 在面向对象编程中,以下几个核心知识点至关重要: 1. **类与对象**:类是对象的模板或蓝图,定义了...

    OO思维

    面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛应用于现代软件开发中的编程范式,它的核心思想是将数据和操作数据的方法封装在一起,形成一个独立的对象。OOP的主要特点是类与对象、封装、继承和...

    OO命令解析器-工程源码.rar

    C语言虽然以过程性编程为主,但通过巧妙的设计,同样可以实现面向对象的编程思想。 1. **对象化设计基础** - 在C语言中,我们通常使用结构体来模拟类,并通过函数指针实现方法。这里,我们可以定义一个`Command`...

    java设计模式之面向对象的思想(think in OO(Object Oriented))

    它体现了事件驱动的编程思想。 7. 装饰器模式(Decorator Pattern):装饰器模式动态地给一个对象添加一些额外的职责,既保留了原有类的行为,又能增加新的功能,避免了子类的大量创建。 8. 模板方法模式...

    Java 图书馆理 Java oo思想

    本资源包聚焦于“Java图书馆管理”和“Java面向对象思想”,这两个主题是Java编程中的核心概念。 首先,让我们深入理解Java面向对象编程(Object-Oriented Programming, OOP)的思想。OOP是一种编程范式,它基于...

Global site tag (gtag.js) - Google Analytics