美文网首页
第2弹、面向对象 1

第2弹、面向对象 1

作者: 向往的菜鸟 | 来源:发表于2016-10-24 11:21 被阅读0次

类(calss)

属性 (属性:可以理解为游戏中人物属性)

  • 成员变量(属于类,在堆中; 随类而存在; 可不初始化。)

  • 局部变量(属于方法,在栈中; 随方法而存在; 必需初始化。)

方法 (行为:可以理解为游戏中人物技能)

  • 构造方法 (常用于初始化属性、另外一种:SetXxx();): 当类中所有方法为静态时,需要把构造方法私有化,以防止其他类创建此类的对象。

  • 成员方法

匿名对象

  • 匿名对象 : 作用,对于只用一次的对象(例如初始赋值),可节省空间(因调用完,就是垃圾,可回收)
                      A a = new A;      
                      print(a);   //非匿名   
                      print(new A);//匿名对象

面向对象

封装(encapsulation)

  • 隐藏对象属性和实现细节,仅有公共访问方式。
  • 好处: a. 隐藏属性和细节; b. 复用性; c. 安全性.
  • 常用方式: private (限制修饰的变量或方法,只能在本类中使用)

继承 ( inheritance )

  • 关键字 extends
  • 好处:
    提高代码复用性;
    提高代码维护性;
    多态的前提,类与类的联系。
  • 坏处
    耦合性增加了。
  • 特点
    单继承,多层继承。
  • Note
    1.子类只能继承父类的非私有成员;
    2.子类不继承父类的构造方法,但可以能过super关键字去访问;
    3.继承应该是包含的关系,而不是为了部分功能而继承。
  • 继承中构造方法的关系
    子类的所有构造方法默认访问父类空参数的构造方法。
    (PS: 若父类中没有无参构造方法,子类用super/this 解决,并且super(...) or this(...) 必须在第一行)。
  • 方法重写
    1.不能降低方法权限;
    2.静态方法只能是静态方法;
    3.无法重写私有方法(废话,都没继承,怎么重写!)。

多态 ( polymorphism )

  • 好处
    1.提高代码维护性 ;
    2.提高代码拓展性;
  • 坏处
    1.需要向下转型才能调用子类非重写的方法。
  • 父类引用指向子类对象(向上转型中的一种)
    1.该引用只能调用父类有定义的方法或变量;
    2.若子类重写方法,该引用调用的就是子类重写的方法;
    3.向上转型中的重写只能针对方法;
  • 向下转型

代码块

相关文章

  • 第2弹、面向对象 1

    类(calss) 属性 (属性:可以理解为游戏中人物属性) 成员变量(属于类,在堆中; 随类而存在; ...

  • 《Java编程思想》笔记2:对象,基础语法

    本篇关注:对象(第1,2章),基础语法(第3,4章) 对象 面向对象程序设计(Object-oriented Pr...

  • 面向对象

    1.面向对象理解 2.面向对象关系图

  • JS面向对象

    JS面向对象入门 1、面向对象语言概念面向对象语言主要包括 类、对象、封装、多肽。2、面向对象的编程思想面向过程思...

  • 面向对象基础

    一、面向对象概述 1、面向对象编程包括: OOA:面向对象分析OOD:面向对象的设计OOP:面向对象的编程实现 2...

  • web-js-内置对象 面向对象

    内置对象 1、document 2、location 3、Math 面向对象 面向过程与面向对象编程 创建对象的方...

  • js面对对象

    内置对象: 1、document 2、location 3、Math 面向过程与面向对象编程: 1、面向过程:所有...

  • 8.面向对象基础

    1.什么是面向对象 2.应该如何学习面向对象 3.面向对象的思维方式 什么是面向对象 1.面向对象是一种编程方法;...

  • JS高级

    1.面向对象的概念 1.1什么是面向对象: 1 .面向对象是一种思维方法2.面向对象是一种编程方法3.面向对象并不...

  • ES6面向对象

    1、ES6面向对象: class(类) 构造函数 对象 实例对象 ES5面向对象是模拟面向对象。 2、继...

网友评论

      本文标题:第2弹、面向对象 1

      本文链接:https://www.haomeiwen.com/subject/kwafuttx.html