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多态传参:必须是传参数的数据类型或传 ...
随机推荐
- winform上传文件到服务器——资料整理
标题:使用简单的wcf文件实现上传,下载文件到服务器 地址:https://blog.csdn.net/duanzi_peng/article/details/19037777
- 【转】解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)
原文链接:https://www.cnblogs.com/adeng/p/7096484.html 这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 ...
- qingqing的项目
1 https://www.cnblogs.com/zhangqing979797/p/10147679.html 2 https://www.cnblogs.com/zhangqing979797/ ...
- 《你又怎么了我错了行了吧》【Beta】Scrum meeting 3
第三天 日期:2019/6/26 前言: 第3次会议在女生宿舍召开(前一天晚上开的) 项目全部基本测试完成,解决了多处bug,明天终于可以拿去演示了.... 1.1 今日完成任务情况.成员贡献时间及工 ...
- keras模块学习之泛型模型学习笔记
本笔记由博客园-圆柱模板 博主整理笔记发布,转载需注明,谢谢合作! Keras泛型模型接口是: 用户定义多输出模型.非循环有向模型或具有共享层的模型等复杂模型的途径 适用于实现:全连接网络和多输入 ...
- 行为型模式(十) 备忘录模式(Memento)
一.动机(Motivate) 我们看上图,一个对象肯定会有很多状态,这些状态肯定会相互转变而促进对象的发展,如果要想在某一时刻把当前对象回复到以前某一时刻的状态,这个情况用"备忘录模式&qu ...
- 十六.maven自动化构建protobuf代码依赖
protobuf在序列化和反序列化中的优势: 1):序列化后体积相比Json和XML很小,适合网络传输2):支持跨平台多语言3):消息格式升级和兼容性还不错4):序列化反序列化速度很快,快于Json的 ...
- c++ templat乱测
该上机实验环境 linux mint IDE:qt5.11 代码复制到windows下vs2017报错,提示char* 类型不能直接赋值字符串 在linux mint下可以运行,测试目的:检验复 ...
- 洛谷 P1439 【模板】最长公共子序列 题解
每日一题 day40 打卡 Analysis 因为两个序列都是1~n 的全排列,那么两个序列元素互异且相同,也就是说只是位置不同罢了,那么我们通过一个book数组将A序列的数字在B序列中的位置表示出来 ...
- CSS滑动门
如下图所示,每个导航栏目的文字个数不一样多,有的长,有的短,如何用一张背景图片,适应不同字数”的导航条,“滑动门”设计的非常巧妙,采用两个相同的背景图像,一左一右,一个负责提供左边框,一个负责提供右边 ...