一.类的理论 1.类的核心概念:多态 是说父类的通用行为可以被子类用更特殊的行为重写 二.类的机制 1.构造函数 类实例是有一个特殊的类方法构造的,这个方法名通常和类名一致: 类构造函数属于类,构造函数大多需要用new来调. 2.类的多态 其实就是子类可以改写父类的同名方法也可以调用继承自父类的同名方法, 任何方法都可以引用继承层次中高层的方法,无论高层的方法名是否相同. 多态的另一个方面是,在继承链的不同层次中一个方法名可以多次被定义,调用方法时会自动选择合适的定义. 多态并不表示子类和父类有…
1.Object.defineProperty()&&getter.setter Object.defineProperty(目标对象,属性名(string型),{ get:function(){ //给新增属性设置一个getter }, enumerable:true//设置为可枚举属性,保证b可以出现在对象的属性列表中 }) var myObject = { get a(){ return this._a_; }, set a(val){ this._a_ = val } } Obje…
5.差异继承 继承意味着复制操作: 差异继承: 基本原则是在描述对象行为时,使用其不同于普遍描述的特制. (我的理解是只用对象自身的而不用普遍继承的像是toString(),valueOf()这种方法) 6.(原型) 继承 function Foo(name){ this.name = name; } Foo.prototype.myName = function(){ return this.name } function Bar(name,label){ //用call将name混合继承 F…
1.[[Prototype]] JS中的对象有一个特殊的[[Prototype]]内置属性,其实就是对于其他对象的引用.几乎所有的对象在创建时这个属性都被赋予一个非空的值 (proto) var myObject = { a:2 } myObject.a;//2 查找a的过程:第一步默认[[Get]]操作检查myObject本身有没有这个属性,有的话就直接用自身的,没有就要继续访问对象的[[Prototye]]链 使用for...in遍历对象时,原理和[[Prototype]] 类似,任何可以通…
20145221<Java程序设计>第四章-认识对象 总结 教材学习内容总结 类与对象 定义:对象是Java语言中重要的组成部分,之前学过的C语言是面向过程的,而Java主要是面向对象的.Java中变量有2种类型,一个是基本类型,另一个则是类类型.使用Java撰写程序几乎都是在使用对象,要产生对象必须先定义类,类是对象的设计图,对象是类的实例. 特点: 有别于C语言的程序编写,在用Java编写中,如果需要什么功能,我们就可去找一个对象,而这个对象就包含这个功能,然后通过new建立对象,通过&q…
1.对象:在JavaScript中,所有事物都是对象,如字符串.数值.数组.函数等. JavaScript中的基本数据类型: number(数值类型)   string(字符串类型)  boolean(布尔类型) null(空类型) undefined(未定义类型) object:一种复杂的数据类型,该类型实例化的对象是一组数据和功能的集合: 对象是包含相关属性和方法的集合体 属性 方法 ●什么是面向对象:     ★面向对象仅仅是一个概念或者编程思想      ★通过一种叫做原型的方式来实现面…
本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时,是将值复制给变量,当==用于基本类型时,是比较两个变量储存的值是否相同,如下面的程序: int a = 10; int b = 10; int c = a; System.out.println(a == b); //显示true System.out.println(a == c); //显示true 如…
基础知识 Class的定义由两部分组成:class的声明,以及紧接在声明之后的主体.主体部分由一对大括号括住,并以分号结尾.主体内的两个关键字public和private,用来标示每个块的"member访问权限".Public member可以在程序的任何地方被访问,private member只能在member function或是class friend内被访问. class的前置声明(forward declaration),将class名称告诉编译器,并未提供此class的任何…
练习 4-1. Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下. 答:身份.类型和值: 身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到.  类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则.可以用type()查看类型. 值:对象表示的数据项. 4-2.类型.不可更改(immutable)指的是什么?Python的那些类型是可更改的(mutable),哪些不是? 答:对象的值是否可以更改称为对象的可改变性,…
1.python对象 所有的Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到. 这个值可以被认为是该对象的内存地址.您极少会用到这个值,也不用太关心它究竟是什么. 类型 对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则.您可以用内建函数type()查看Python 对象的类型.因为在Python 中类型也是对象(还记得我们提到Python 是面向对象的这句话吗?),…