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 ...
随机推荐
- Python 的 sum():Pythonic 的求和方法
摘要:Python 的内置函数sum()是一种对数值列表求和的有效且Pythonic 的方法.将多个数字相加是许多计算中常见的中间步骤,因此sum()对于 Python 程序员来说是一个非常方便的工具 ...
- 手把手带你玩转LiteOS Ping组件
摘要:本期小编为大家带来LiteOS开源版本Ping组件的使用说明,请跟随小编的步伐一起进入探索之旅吧! 本文分享自华为云社区<LiteOS组件尝鲜-玩转Ping>,作者:Lionlace ...
- Scrum Master需要具备哪些能力和经验
摘要:ScrumMaster对于产品负责人和开发团队来说,履行的是教练的职责,帮助团队和组织其他成员发展具有组织特色的.高效的Scrum方法,贯彻执行敏捷思想,激励团队持续提升,并不懈追求卓越的表现. ...
- 再获信通院权威认证,优等生华为云GaussDB数据库凭什么?
摘要:在八大项测试中,华为云 GaussDB的两款数据库都以优异的成绩通过.那么这两款数据库究竟是凭借什么获此殊荣呢? 近期,中国信通院公布了第十三批数据库产品基础能力.性能和稳定性评审结果.在本次评 ...
- iOS 应用上架的步骤和工具简介
编辑 APP开发助手是一款能够辅助iOS APP上架到App Store的工具,它解决了iOS APP上架流程繁琐且耗时的问题,帮助跨平台APP开发者顺利将应用上架到苹果应用商店.最重要的是,即使没有 ...
- iOS分发证书过期或手动吊销,会影响App的下架吗?
iOS distribution发布证书过期或者被手动revoke了app会被下架吗? 在距离distribution 证书过期一个月(或被手动revoke了)的时候会受到apple的邮件 编辑 ...
- Kubernetes(K8S) 安装Nacos,报 No DataSource set
原因,数据库为 MySQL 5.7 需要在yaml加上参数 mysql.db.param: "characterEncoding=utf8&connectTimeout=1000&a ...
- Jmeter对各种接口类型的测试
JMeter对各种类型接口的测试 默认做接口测试前,已经给出明确的接口文档(如,http://test.nnzhp.cn/wiki/index.php?doc-view-59):本地配好了JMeter ...
- 玩转Python:处理图像,两个非常重要的库,很实用,附代码
在Python中,图像处理是一个涉及图像分析.编辑和处理的广泛领域.有几个流行的库通常用于处理图像,每个库都有其特殊的功能和优势.以下是一些常用的Python图像处理库: 1. Pillow (PIL ...
- Centos7 cmake版本升级(v2.8.12.2->v3.16.6)
1. 查看当前cmake版本 [root@localhost ~]# cmake -version cmake version 2.8.12.2 2. 进行卸载 [root@localhost ~]# ...