两种创建私有变量、私有方法的方法

在构造函数中定义特权方法:

利用函数的块级作用域,然后在里面创建了两个特权方法,两个特权方法作为构造函数的闭包可以访问到私有变量name,所以创建构造函数的实例之后只能通过这两个特权方法访问到name这个私有变量(并且每个实例的name不是同一个)

在私有作用域中创建构造函数

首先创建了一个私有作用域,然后在里面创建了一个构造函数,不是用声明式而是用函数表达式创建了一个私有作用域的闭包,这样Person就是一个全局变量,然后通过原型创建了两个特殊方法,然后私有变量name就只能通过这两个方法访问了。(这边值得注意的是两个方法是在原型上定义的。所以所有的实例都共享一个name变量,一个变了别的实例也会跟着改变)

高程上面还介绍了一种创建单个实例私有变量的方法,还没理解到,下次再补

原文地址:https://www.cnblogs.com/fengpang/p/8486320.html

时间: 2024-11-01 14:33:03

两种创建私有变量、私有方法的方法的相关文章

String变量的两种创建方式

在java中,有两种创建String类型变量的方式: String str01="abc";//第一种方式 String str02=new String("abc")://第二种方式 第一种方式创建String变量时,首先查找JVM方法区的字符串常量池是否存在存放"abc"的地址,如果存在,则将该变量指向这个地址,不存在,则在方法区创建一个存放字面值"abc"的地址. 第二种方式创建String变量时,在堆中创建一个存放&q

四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 3. 方法重载: 是指在一个类中定义多个同名的方法 在OC中没有重载 2.self和super&static, self和super: 1. self理解: 谁调用当前方法, self就代表谁. 比如: 在对象方法中,self代表的是对象, 因为只有对象才可以调用对象方法 在类方法中, self代表的

Javascript中两种最通用的定义类的方法

在Javascript中,一切都是对象,包括函数.在Javascript中并没有真正的类,不能像C#,PHP等语言中用 class xxx来定义.但Javascript中提供了一种折中的方案:把对象定义描述为对象的配方(先看一下例子会比较容易理解).定义类的方法有很多种,这里有两中较为通用的方法,大家参考一下.这两种方法均可以解决 构造函数会重复生成函数,为每个对象都创建独立版本的函数的问题.解决了重复初始化函数和函数共享的问题??提示音:http://www.huiyi8.com/tishiy

两种动态加载JavaScript文件的方法

两种动态加载JavaScript文件的方法 第一种便是利用ajax方式,第二种是,动静创建一个script标签,配置其src属性,经过把script标签拔出到页面head来加载js,感乐趣的网友可以看下 动态加载script到页面大约有俩方法 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval()实施代码.第二种是,动静创建一个script标签,配置其src属性,经过把script标签插入到页面head来加载js,相当于正在head中写了一个<sc

Java---11---多线程的两种创建方式

多线程的两种创建方式: 下面这些东西是API文档中的: public class Thread extends Object implements Runnable 线程 是程序中的执行线程.Java 虚拟机允许应用程序并发地运行多个执行线程. 每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程.每个线程都可以或不可以标记为一个守护程序.当某个线程中运行的代码创建一个新 Thread 对象时,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护

qemu-system和qemu-user两种模式动态模拟运行嵌入式固件方法总结

qemu-system和qemu-user两种模式动态模拟运行嵌入式固件方法总结 前言 搭建嵌入式固件的动态模拟环境的过程中遇到了许多的坑,最终终于搭建了起来,很有必要记录下遇到的问题,避免今后再踩坑. 工具 1.buildroot 下载地址 以buildroot 2019.02.4版本为例,编译mips大端架构环境. tar zxvf buildroot-2019.02.4.tar.gz apt-get install libncurses5-dev make menuconfig Targe

【JPA】两种不同的实现jpa的配置方法

两种不同的实现jpa的配置方法 第一种: com.mchange.v2.c3p0.ComboPooledDataSource datasource.connection.driver_class=com.mysql.jdbc.Driver <!-- Where to find repositories --> <jpa:repositories base-package="org.springframework.data.jpa.example.repository.simpl

设计模式----单例模式的两种创建方法

一.实现单例模式的需要的条件: 1,有私有的构造器; 2,一个静态方法; 3,一个静态变量. 二.实现单例模式的两种方法: 第一种:急切实例化 package singleton; /** * 急切实例化 * @author lenovo * */ public class Singleton2 { private static Singleton2 uniqueInstance = new Singleton2(); private Singleton2(){ } public static

iOS s私有变量 私有方法

实例变量既可以在@interface中定义 也可以在@implementation中定义 在@implementation中的成员变量默认是私有的成员变量 并且和利用@private修饰的不太一样 在@implementation中定义的成员变量在其他类中无法查看 也无法访问 在@implementation中定义的私有变量只能在本类中访问 如果只有方法的实现没有方法的声明 这个方法就是私有方法