【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

面向对象之封装

原创 2015年11月17日 16:51:17

编程语言的发展阶段:
 机器语言(汇编语言):由0和1组成的序列,称为机器指令。
 过程语言(C):把代码的组成叫过程和函数的块。
 面向对象编程(C#,Java):封装,继承,多态。

面向对象(OOP):Object Oriented Programming,描述对象之间的相互作用。
面向对象和面向过程的区别:
 算法与数据结构:
 过程:先确定算法,再确定数据结构。
 对象:先确定数据,再确定算法。

数据操作:
 过程:建立数据结构存放数据并定义函数(方法)对数据进行操作。
 对象:构造一个数据模型,把数据和方法组织在一起。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

面向对象的三大特征:(抽象)
封装:隐藏属性,方法或实现细节的过程。
   含义:java中,对象就是一个封装体。
         把对象的属性和服务组合成一个独立的单位,并尽可能地隐蔽对象的内部细节,主要指私有数据。
   目的:使得对象以外的部分不能随意存取对象的内部数据(属性),从而使得软件错误能够局部化,大大减少查错或排错的难度。
   好处:使用方便,保护内部数据,维护方便。
   方法:封装语句,类封装属性。
   概念:广义:所有的东西都可以封装。
         狭义:1.属性私有(private)2.访问之中提供getter/setter,3.访问器中添加条件。
         static{}静态代码块(一个类只执行一次),{}非静态代码块(对象创建便会执行)
         private 私有访问修饰符(内部可用)。
         public  公共访问修饰符(谁都可使用)。
   特性:设置对象中的成员变量和方法的访问权限(public,private,protected,缺省)
         提供一个统一让其他类引用的访问接口。如一些public方法;
         其他对象不能直接修改本对象所拥有的私有属性和私有方法
         包:类空间的划分单位。
         静态代码只输出一次,而属性走一次,输出一次。
   作用:1.对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
         2.对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的
构造方法:(构造类的对象,没有构造方法时,java jvm自动提供无参构造方法)
    作用:给属性赋值:
          类型 变量=new 构造方法();
    定义:      ps:方法名和类名相同,没有返回值类型。
    使用:类型 变量=new 构造方法();

方法重载:
    例子:System.out.println();
    定义: 方法名相同,参数列表不一致(参数个数,对应的位置类型不一致)。
    问题: 方法名相同容易记住,与参数类型有关,与参数名无关。


this用法总结:
   本类中方法调用自己的属性和方法时可以使用this。
   局部变量和属性重名时必须添加this。
   构造方法的使用:
    this():
            1.必须放在构造方法的第一句。
            2.必须调用自己的别的构造方法。
   方法分类:
      实例方法:每一个对象独享(调用自己的任何方法(除了自己的构造方法外)):this.方法名();
      类方法:类中所有对象共享(非静态方法和构造方法不能调用)
      构造方法:可以调用自己的所有方法包括别的构造方法。

封装和构造方法的重载的问题:
     问题:使用构造方法可以直接给属性赋值,set访问器中的判断无效。
     解决办法:构造方法给属性赋值时,建议使用set方法赋值

属性赋值方法总结:
     1.类中属性直接赋值
     2.使用构造方法给属性赋值
     3.通过set方法属性赋值
     4.通过实例方法给属性赋值
     5.在类外创建对象,调用2-4给对象属性赋值。
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

世说新语:什么是面向对象(之一 封装)

面向对象是什么呢?????? 很多人会说,面向对象是一种思想,是把世间万事万物都理解为对象的东东。哥没有那么高的境界,哥一下子理解不了那么深刻的东东。 哥面向对象的思想只是来自哥的编程经验。 哥上学的...

java面向对象的三大特征:封装-继承-多态

java面向对象的三大特征:封装-继承-多态   什么是面向对象? Java是一门面向对象的语言,面向对象跟面向过程一样,都是一种思想,面向过程强调的是功能行为,关注的是实现功能所要完成的...

面向对象的特征有哪些方面,封装,抽象,继承,多态

面向对象的特征有哪些方面 计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业务其实就是一个个对象协作的过程。面向对象编程就是按现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机系统能够识别和理解用对象方式组织和编写的程序代码,这样就可以把现实生活中的业务对象映射到计算机系统中。 面向对象的编程语言有封装、继承 、抽象、多态等4个主要的特征。 [b][size=large]封装[/size][/b] 封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。在面向对象的编程语言中,
  • sodart
  • sodart
  • 2010-06-11 17:00
  • 1322

java面向对象三大特性--封装

Java面向对象(封装性概论) 知识概要:                   (1)面向对象概念                   (2)类与对象的关系               ...

面向对象之封装的成本价值

面向对象之封装的成本价值 本章对一些具有代表性数据控件实现了自定义封装,其内容已经足够翔实精细,同样还有一些控件被封装,比如: • 自定义“TabControl”到“TC_”类; • 自定义“RichTextBox”到“RTB_”类等。 因为它们在需求把握与设计构思上没有太多值得强调的特点,所以就不再一一列出。只要把握了自定义封装的一般理念与实现方式,在任何必要的时候随时可以对一些必要的命题实现自定义封装。 对操作逻辑的封装有益于全面提升操作员对系统的评价,这一点是基本可以肯

第一章:JavaScript设计模式--面向对象之封装

JavaScript是一门面向对象的语言,使用面向对象就不得不提起封装、继承和多态,今天咱们来好好唠唠封装的一些小技巧。

JavaScript 面向对象程序设计(上)——封装[转]

转于:CoolCode.CN JavaScript 是一种非常灵活的面向对象程序设计语言,它与传统的强类型的面向对象程序设计语言(如 C++,Java,C# 等)有很大不同,所以要实现如 C++、java、C# 当中的一些特性就需要换一种思考方式来解决。今天主要讨论如何在 JavaScript 脚本中实现数据的封装(encapsulation)。 数据封装说的简单点就是把不希望调用者看

黑马程序员——Java语言基础:面向对象、封装(构造函数、设计模式)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------  一、理解面向对象 面向对象和面向过程都是一种思想,面向对象是相对面向过程而言...

Java程序员从笨鸟到菜鸟之(二)面向对象之封装,继承,多态(上)

Java是一种面向对象的语言,这是大家都知道的,他与那些像c语言等面向过程语言不同的是它本身所具有的面向对象的特性——封装,继承,多态,这也就是传说中的面向对象三大特性 一:从类和对象开始说起: Oop:Object Oriented Programming(面向对象编程): 类:对象的蓝图,生成对象的模板,是对一类事物的描述,是抽象的概念上的定义 对象:对象是实际存在的该类事物的每个个体,因而也称为实例 类之间的三种关系:依赖关系(uses-a)聚集关系(has-a)继承关系(is-a) 在java中,类和对象的关系就像是动物和老虎的关系一样,老虎属于
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)