封装

Java总论及三大特性理解

故事扮演 提交于 2019-11-30 07:34:41
1、对象(object) 万物皆为对象(根类Object类)。 程序是对象的集合(面向对象程序设计语言OOP)。 每个对象都有自己的由其他对象所构成的存储(对象有成员属性)。 每个对象都拥有其类型(每个对象都是某个类class的一个实例instance) 。 某一特定类型的所有对象都可以接收同样的信息(继承)。 2、类型(type) 类描述具有相同特性(数据元素)和行为(功能)的对象集合。是面向对象设计除了基本数据类型外的,一种通用的数据类型。 3、对象作为“服务提供者” 提高对象的内聚性,将对象的设计简化,并凸显其提高的服务价值。 高质量代码的基本要求是:可复用、高内聚、低耦合。 4、封装(信息隐藏) 指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他部分只有通过包裹在数据外面的被授权的操作来与这个抽象数据类型交流与交互。用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)访问该对象。 一句话总结: 所谓封装,就是把数据和方法保护在类的内部,只允许可信的类或对象操作,对不可信的进行信息隐藏。 好处: (1)实现了专业的分工。 将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可以在需要的时候调用

Java——面向对象

徘徊边缘 提交于 2019-11-29 23:02:36
Java——理解面向对象 一:什么是面向对象编程? 面向对象编程 ( Object Oriented Programming, OOP ,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的 单元 或对象组合而成。OOP 达到了 软件工程 的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。 面向对象是由OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)三个部分组成。其中,OOA和OOD的结构需要使用一种方式来描述并记录,目前统一采用UML(统一建模语言)来描述并记录OOA、OOD的结果。 Java语言是纯粹的面向对象的程序设计结构,这主要表现在Java的三种基本特征:继承,封装和多态。 目前主流的开发方法是:结构化开发方法和面向对象开发方法。C、Basic、Pascal等都是结构化编程语言,C++、C#、Java、Ruby等都是面向对象的编程语言。 二:程序有哪三种基本结构? 顺序结构,选择结构,循环结构。 顺序结构 :程序中的各操作是按照它们在源代码中的排列顺序依次执行的。 选择结构 :程序的处理需要根据某个特定的条件选择其中的一个分支执行。选择结构有单选择,双选择和多选择三种形式。 循环结构 :程序反复执行某个或某些操作,知道某个条件为假(或为真

JFina教程JfinalUIB 代码笔记 (3)--- jfinal Controller参数封装

こ雲淡風輕ζ 提交于 2019-11-28 10:22:49
通常我们使用jfinal开发都会写自己的BaseController来做一些公共全局变量的声明,或者用来实现一些公共方法,JfinalUIB也不例外。 参数的封装主要是在ParamPkgInterceptor类中实现,采用的是jfinal的拦截器。 首先得到controller和BaseController声明的一些全局变量字段 BaseController controller = (BaseController) ai.getController(); Class<?> controllerClass = controller.getClass(); Class<?> superControllerClass = controllerClass.getSuperclass(); Field[] fields = controllerClass.getDeclaredFields(); Field[] parentFields = superControllerClass.getDeclaredFields(); 在ai.invoke();之前实现请求参数数据到变量的封装 log.debug("*********************** 封装参数值到 controller 全局变量 start ***********************"); //

Java程序员应当知道的10个面向对象设计原则

扶醉桌前 提交于 2019-11-26 17:02:08
面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) 、 Decorator(装饰器)、Observer(观察者) 等设计模式,而没有把足够多的注意力放在学习面向对象的分析和设计上面。学习面向对象编程像“抽象”、“封装”、“多态”、“继承” 等基础知识是重要的,但同时为了创建简洁、模块化的设计,了解这些设计原则也同等重要。我经常看到不同经验水平的java程序员,他们有的不知道这些OOPS 和SOLID设计原则,有的只是不知道一个特定的设计原则会带来怎样的益处,甚至不知道在编码中如何使用这些设计原则。 (设计原则)底线是永远追求高内聚、低耦合的编码或设计。 Apache 和 Sun的开源代码是学习Java和OOPS设计原则的良好范例。它们向我们展示了,设计原则在Java编程中是如何使用的。Java JDK 使用了一些设计原则:BorderFactory类中的工厂模式、Runtime类中的单例模式、java.io 类中的装饰器模式。顺便说一句,如果您真的对Java编码原则感兴趣,请阅读Joshua Bloch 的Effective Java,他编写过Java API。我个人最喜欢的关于面向对象设计模式的是Kathy Sierra的Head First Design Pattern(深入浅出设计模式)

面向过程

做~自己de王妃 提交于 2019-11-26 09:27:11
面向过程 函数式编程 面向对象 1.0 面向过程 所谓过程就是我们解决问题的步骤,一步步的按照流程走,有先后之分。 它呢,整个设计就好比流水线,思维上比较机械化。 1.1优缺点 优点: 复杂的问题流程化,将问题分解简化。 缺点 拓展性不好 2.0 面向对象 核心是对象。 正式的来说: 对象是一个数据以及相关行为的简化的集合 面向对象是功能上指向建模对象 通过 数据 和 行为方式 来描述交互对象的 集合 在python中,一切皆为对象。 面向对象的优缺点 优点 解决程序的拓展性 缺点 复杂度远高于面向过程 交互是解决问题,无法准确预测结果。 类就是类别,种类 对象就是特征和技能的统一体。 类则是这一系列对象的特征和技能的结合。 对于现实世界,先有个体(即对象),才有类别; 但对于程序,必须先有类,才有对象的。 3.0 面向对象编程 OPP(object oriented programming) 其实是一种程序设计思想。OOP把对象作为程序的一个基本单元,一个对象就包含了数据和操作数据的函数。 在python中,所有数据类型都可以视为对象,同时我们也可以自定义对象。 自定义对象的数据类型就是面向对象种类(class)的概念。 Demo: 假如要处理我们的成绩。为了表示学生的成绩: 面向过程的方式 stu1 = { 'name' : 'tom' , 'score' = 99 }