一、成员属性和成员方法
在构造函数中,通过this属性声明,或者实例化出对象后,通过“对象属性”追加的,都属于成员属性或成员方法,也叫实例属性与实例方法;
成员属性/方法,是属于实例化的这个对象,通过“对象属性”调用;
二、静态属性和静态方法
通过“类名属性名”,“类名方法名”声明的变量,成为静态属性、静态方法,也叫类属性、类方法;类属性、类方法是属于类的(构造函数的),这类属性或方法必须通过“类名属性”调用,而不能通过对象名调用;
三、私有属性和私有方法
在构造函数中,通过var声明的属性,成为私有属性,私有属性的作用域仅在当前函数有效,对外不公开,即通过对象/类都无法调用到;
四、原型属性和原型方法
写在了构造函数的prototype上,当使用构造函数实例化对象时,该属性方法会进入新对象的 proto 上;
成员属性和原型属性的区别:成员属性是直接声明在对象自身上的,而原型属性是声明在对象的__proto__上,在我们使用“对象名属性名”访问一个属性时,会先访问成员属性,如果成员属性中找不到,JS会沿着对象的原型链,继续通过__proto__向上查找,也就找到了原型属性,这就是我们可以使用“对象名属性名”访问成员属性和原型属性的原因;
七、prototype扩展内置函数
我们通过使用prototype扩展内置函数的方法,可以直接使用内置函数的对象,调用我们扩展的方法;
参考: >
通过对象调用类的私有函数成员=>
class base
{
private:
fun1();
public:
pubFunc1() { func1();} //输出base私有函数
};
int main()
{
base b;
……
bpubFunc1(); //间接调用base类私有函数func1
}
以上就是关于成员属性、静态属性、私有属性、原型属性全部的内容,包括:成员属性、静态属性、私有属性、原型属性、java反射取对象属性值 不是通过get方法取值、如何通过对象调用类的私有函数成员等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)