TypeScript类的修饰符 public private protected的详细讲解
简单介绍一下public private protected
public:当一个类的成员变量没有修饰的时候,默认的就是 public 进行修饰。外部是可以进行访问的。
private属性只能够在父类的内部直接进行访问。 private读音【ˈpraɪ vɪ t】
protected:可以在父类或者子类内部访问,不能够在外部访问。
super
ps:super 可以调用父类中的公共属性和公共方法,以及受保护的方法。但是不能访问受保护的属性
1.修饰符 public
当一个类的成员变量没有修饰的时候,默认的就是 public 进行修饰。外界是可以进行访问的。
class Person {
age= 10 //没有修饰符默认是被public访问
private name = "张三" // private 属性只能够在Person类的内部 进行访问;
say() {
console.log("我的名字是" + this.name)
}
}
let p = new Person()
console.log(p.age) //可以正常访问
//console.log(p.name) //报错 属性“name”为私有属性,只能在类“Person”中访问
2.继承父类 extends
class Person {
age=10;
private name = "张三"; // private 属性只能够 在类的内部 进行访问;
say() {
console.log("我的名字是" + this.name);
}
}
//继承父类子类就可以访问父类中的属性和方法。
//如果父类是定义的私有属性或者方法的时候,子类就不可以进行访问。
class Children extends Person {
callPar() {
super.say(); //super 可以调用父类中公开的的属性 方法
}
}
var xm = new Children();
xm.say(); //我的名字是张三
protected 的使用
class Person {
protected age= 10; //修饰的属性和方法是受保护的,只能够在父类或者子类内部访问
private name = "张三"; // private 属性只能够 在类的内部 进行访问;
say() {
console.log("我的名字是" + this.name);
}
}
// 继承父类
class Children extends Person {
callPar() {
super.say(); //super 可以调用父类中的公共属性和公共方法,以及受保护的方法。但是不能访问受保护的属性
}
hello() {
// protected修饰的属性和方法是受保护的,只能够在父类或者子类中进行访问,不能在外部访问。 通过this进行访问
console.log("我今年" + this.age);
}
other() {
// 会报错的,返回的是 undefined, super是不能访问受保护的属性.可以通过this访问
console.log("我今年" + super.age);
}
}
var xm = new Children();
xm.callPar(); //我的名字是张三
xm.hello(); // 我今年10
xm.other(); //返回的是 undefined
// console.log(xm.age );// 报错 protected修饰的属性或者方法。可以在父类或者子类内部访问,不能够在外部访问。
static 静态方法的使用
class Person {
protected age= 10; //修饰的属性和方法是受保护的,只能够在父类或者子类内部访问。
private name = "张三"; // private 属性只能够 在类的内部 进行访问;不能够在外部访问。
say() {
console.log("我的名字是" + this.name);
}
}
// 继承父类
class Children extends Person {
static test() {
console.log("我是静态方法");
}
}
Children.test(); //静态方法 可以直接去调用 此时是不允许使用 this;this是使用在实例化当中
TypeScript类的修饰符 public private protected的详细讲解的更多相关文章
- 访问修饰符(public,private,protected,internal,sealed,abstract)
为了控件C#中的对象的访问权限,定义对象时可以在前面添加修饰符. 修饰符有五种:private(私有的),protected(受保护的),internal(程序集内部的),public(公开的),以及 ...
- 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)
访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...
- C#访问修饰符(public,private,protected,internal,sealed,abstract)
为了控件C#中的对象的访问权限,定义对象时可以在前面添加修饰符. 修饰符有五种:private(私有的),protected(受保护的),internal(程序集内部的),public(公开的),以及 ...
- 2018/03/10 每日一学PHP 之 修饰符 public/private/protected
对于面向对象 修饰符的使用是我们最常用,也是很容易忽略的小细节. 对于编程来说,把握好每一个小细节,就能构造出漂亮,优雅的程序. public 使用最多的修饰符,公共方法,允许所有访问,就像一个公交车 ...
- 关于Java的权限修饰符(public,private,protected,默认friendly)
以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...
- 访问修饰符public,private,protected,以及不写(默认)时的区别?
private: 1.在当前类开发中,main方法之外可以直接借助名字使用,当前类的main方法中可以使用对象打点的方式直接使用成员. 2.在当前类之外,使用对象(或是类名,针对静态的)打点调用都是被 ...
- 访问修饰符 public,private,protected,以及不写(默认) 时的区别?
修饰符 当前类 同 包 子 类 其他包 public √ √ √ √ protecte d √ √ √ × default √ √ × × private √ × × × 类的成员不写访问修饰时默认为 ...
- 访问修饰符 public private protected default
- Java修饰符 public、protected、default、private
2.访问修饰符public,private,protected,以及不写(默认)时的区别?答: 修饰符 当前类 同 包 子 类 其他包 public √ √ √ √ protected √ √ √ × ...
- 12、类成员访问修饰符public/private/producted/readonly
1.private 类的私有成员 private 类的私有成员,只能在内部访问,在外部访问不到,无法被继承,我们可以将不需要被外部修改的定义为私有的 私有成员,只能在内部访问,在外部访问不到 priv ...
随机推荐
- SimpleDateFormat线程不安全了?这里有5种解决方案
摘要:我们知道SimpleDateFormat是线程不安全,本文会介绍多种解决方案来保证线程安全. 本文分享自华为云社区<java的SimpleDateFormat线程不安全出问题了,虚竹教你多 ...
- linux添加用户,修改用户密码,修改用户权限,设置root用户操作
1.添加普通用户 [root@server ~]# useradd chenjiafa //添加一个名为chenjiafa的用户[root@server ~]# passwd chenjiafa ...
- 原来的 service 命令与 systemctl 命令对比
service [服务] start systemctl start [unit type] 启动服务 #启动网络服务 systemctl start network.servicese ...
- 我的程序跑了60多小时,就是为了让你看一眼JDK的BUG导致的内存泄漏。
这次的文章从JDK的J.U.C包下的ConcurrentLinkedQueue队列的一个BUG讲起.jetty框架里面的线程池用到了这个队列,导致了内存泄漏. 同时通过jconsole.VisualV ...
- PPT 动画入门
元素动画 进入动画 元素从无到有的过程 退出动画 元素从有到无的过程 退出动画和进入动画,一对一 强调动画 在元素上变化的过程(如放大) 动作路径 3D动画 三维动画 低版本不支持 组合动画 切换动画 ...
- Xml Entity 实体互转(JAXB)
感觉比 xStream 操作起来复杂些 Xml Entity 实体互转(XStream).但学习成本低些,不需要引用第三方依赖包 需要注意的是 实体中如果加了 getXX 需要在上面加上 @XmlTr ...
- Spring Boot Admin 授权配置
Admin 服务端配置 添加 POM 引用 <dependency> <groupId>org.springframework.boot</groupId> < ...
- Grafana--添加用户
版本:6.5.2 添加用户: 设置账号密码: 设置账号权限(新增的用户都是仅查看的权限):
- 关于_beginthreadex和CreateThread的区别
关于_beginthreadex和CreateThread的区别 在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是 C++ 运行库的 ...
- 采购订单创建、修改、审批增强ME21N/ME22N/ME28/ME29N
一.采购订单创建修改增强 BADI:ME_PROCESS_PO_CUST 通过POST方法中的参数im_header,获取对应的数据 订单头 "----------------------- ...