typescript类 继承 修饰符
//1、ts中类的定义
/*
es5:
function Person(name){
this.name=name;
this.run=function(){
console.log(this.name)
}
}
var p=new Person('张三');
p.run()
*/
/*
ts中定义类:
class Person{
name:string; //属性 前面省略了public关键词
constructor(n:string){ //构造函数 实例化类的时候触发的方法
this.name=n;
}
run():void{
alert(this.name);
}
}
var p=new Person('张三');
p.run()
*/
/*
class Person{
name:string;
constructor(name:string){ //构造函数 实例化类的时候触发的方法
this.name=name;
}
getName():string{
return this.name;
}
setName(name:string):void{
this.name=name;
}
}
var p=new Person('张三');
alert(p.getName());
p.setName('李四');
alert(p.getName());
*/
//2、ts中实现继承 extends、 super
// class Person{
// name:string;
// constructor(name:string){
// this.name=name;
// }
// run():string{
// return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run())
// class Web extends Person{
// constructor(name:string){
// super(name); /*初始化父类的构造函数*/
// }
// }
// var w=new Web('李四');
// alert(w.run());
//ts中继承的探讨 父类的方法和子类的方法一致
// class Person{
// name:string;
// constructor(name:string){
// this.name=name;
// }
// run():string{
// return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run())
// class Web extends Person{
// constructor(name:string){
// super(name); /*初始化父类的构造函数*/
// }
// run():string{
// return `${this.name}在运动-子类`
// }
// work(){
// alert(`${this.name}在工作`)
// }
// }
// var w=new Web('李四');
// // alert(w.run());
// // w.work();
// alert(w.run());
// 3 类里面的修饰符 typescript里面定义属性的时候给我们提供了 三种修饰符
/*
public :公有 在当前类里面、 子类 、类外面都可以访问
protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
private :私有 在当前类里面可以访问,子类、类外部都没法访问
属性如果不加修饰符 默认就是 公有 (public)
*/
//public :公有 在类里面、 子类 、类外面都可以访问
// class Person{
// public name:string; /*公有属性*/
// constructor(name:string){
// this.name=name;
// }
// run():string{
// return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run())
// class Web extends Person{
// constructor(name:string){
// super(name); /*初始化父类的构造函数*/
// }
// run():string{
// return `${this.name}在运动-子类`
// }
// work(){
// alert(`${this.name}在工作`)
// }
// }
// var w=new Web('李四');
// w.work();
//类外部访问公有属性
// class Person{
// public name:string; /*公有属性*/
// constructor(name:string){
// this.name=name;
// }
// run():string{
// return `${this.name}在运动`
// }
// }
// var p=new Person('哈哈哈');
// alert(p.name);
//protected:保护类型 在类里面、子类里面可以访问 ,在类外部没法访问
// class Person{
// protected name:string; /*公有属性*/
// constructor(name:string){
// this.name=name;
// }
// run():string{
// return `${this.name}在运动`
// }
// }
// var p=new Person('王五');
// alert(p.run())
// class Web extends Person{
// constructor(name:string){
// super(name); /*初始化父类的构造函数*/
// }
// work(){
// alert(`${this.name}在工作`)
// }
// }
// var w=new Web('李四11');
// w.work();
// alert( w.run());
//类外外部没法访问保护类型的属性
// class Person{
// protected name:string; /*保护类型*/
// constructor(name:string){
// this.name=name;
// }
// run():string{
// return `${this.name}在运动`
// }
// }
// var p=new Person('哈哈哈');
// alert(p.name);
// private :私有 在类里面可以访问,子类、类外部都没法访问
// class Person{
// private name:string; /*私有*/
// constructor(name:string){
// this.name=name;
// }
// run():string{
// return `${this.name}在运动`
// }
// }
// class Web extends Person{
// constructor(name:string){
// super(name)
// }
// work(){
// console.log(`${this.name}在工作`)
// }
// }
class Person{
private name:string; /*私有*/
constructor(name:string){
this.name=name;
}
run():string{
return `${this.name}在运动`
}
}
var p=new Person('哈哈哈');
alert(p.run());
typescript类 继承 修饰符的更多相关文章
- typescript类的修饰符
学习过java的小姐姐,小哥哥应该很好理解,但还是啰嗦的写出来! typescript里面定义属性的时候给我们提供了 三种修饰符 public :公有 在当前类里面. 子类 .类外面都可以访问 pro ...
- ts类与修饰符
最近在用egret做游戏,就接触到了ts,刚开始的时候觉得类挺难的,毕竟大多数的JavaScript工程师工作中不怎么需要用到这个,但是学起来就不愿意撒手了,真香! typescript其实是es6的 ...
- C++ 类 & 对象-类成员函数-类访问修饰符-C++ 友元函数-构造函数 & 析构函数-C++ 拷贝构造函数
C++ 类成员函数 成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义. 需要强调一点,在 :: 运算符之前必须使用类名.调用成员函数是在对象上使用点运算符(.),这样它就能操作与 ...
- c#默认类的修饰符。
类的默认修饰符是internal 当其修饰符为internal时,其他模块不能访问该类, 所以class类的修饰符一般为public
- C#类的修饰符
## C#类的修饰符------------------------- public 任何地方可以调用- internal 同一应用程序集内使用- partial 部分类,一个类分成几部分写在不同文件 ...
- python - 类成员修饰符
在java,c#类的成员修饰符包括,公有.私有.程序集可用的.受保护的. 对于python来说,只有两个成员修饰符:公有成员,私有成员 成员修饰符是来修饰谁呢?当然是修饰成员了.那么python类的成 ...
- VS开发入门三:c#的类的修饰符和成员的修饰符
初学者经常会犯下的错误就是,修饰符一大堆,而且类和其成员很多修饰符是一样的容易混用 这里总结下 C#修饰符之类修饰符(个 助记 PIPA SS ):public.internal. partial(多 ...
- (C# 基础) 类访问修饰符
C# 中有5个权限修饰符,用于控制对对象的访问权限. 1. public: 访问不受限制. namespace, enum成员,interface成员 隐式的具有public 修饰符,不能在显式添 ...
- Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇
一.面向对象之多态 1.多态:简而言子就是多种形态或多种类型 python中不支持多态也用不到多态,多态的概念是应用与java/C#中指定传参的数据类型, java多态传参:必须是传参数的数据类型或传 ...
随机推荐
- The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more tha ...
- awk命令笔记
awk是啥? awk(奥克)是linux中一个强大的分析工具,linux面试必考 [root@rainbol ~]# awk Usage: awk [POSIX or GNU style option ...
- vue-cli 3 按需引入 element-ui
1.安装按需引入必要插件 npm install babel-plugin-component --save-dev 2.修改babel.config.js 3.在main.js中引入用到的组件,例如 ...
- vue中input输入第一个字符时,光标会消失,需要再次点击才能输入
vue中input输入第一个字符时,光标会消失,需要再次点击才能输入 在这里我犯了一个小错误,v-if语法比较倾向于一次性操作,当input获取焦点时,v-if判断为true,立即刷新数据,进行渲染, ...
- Kubernetes 学习17 dashboard认证及分级授权
一.概述 1.我们前面介绍了kubernetes的两个东西,认证和授权 2.在kubernetes中我们对API server的一次访问大概会包含哪些信息?简单来讲它是restfule风格接口,也就是 ...
- linux 日志写入到指定文件中
php /data/xxx/aaa.php > test.log 2>&1 >覆盖, >>追加 2>&1 表示不仅命令行正常的输出保存到test. ...
- 区块链阶段1-Linux基础- 1 Linux简介
对于一般的办公和娱乐我们接触更多的是Windows.但是对于IT从业人员,特别是从事服务器管理以及软件开发的人员来讲,我们需要熟练掌握 Linux/UNIX操作系统的知识.所以,Linux 是众多操作 ...
- jquery.nicescroll.js Unable to preventDefault inside passive event listener due to target being treated as passive.
解决办法就是:https://github.com/bestjhh/Plugin 下载替换. 参考: https://github.com/bestjhh/Plugin https://blog.cs ...
- SpringBoot整合ElasticSearch:基于SpringDataElasticSearch
0.注意事项 SpringDataElasticSearch可能和远程的ElasticSearch版本不匹配,会宝座 版本适配说明:https://github.com/spring-projects ...
- js文件 与 css文件 异步加载
使用lazyload 异步加载css js 文件. 提升页面初始化的速度,减少卡顿时间 , 下面是 使用方法 与 lazyload.js 源码 (中文注释) 调用方法后. 会追加到 head 标签末尾 ...