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多态传参:必须是传参数的数据类型或传 ...
随机推荐
- sql查询排序
ORDER BY _column1, _column2; /* _column1升序,_column2升序 */ ORDER BY _column1, _column2 DESC; /* ...
- 多线程执行sql报错处理
pymysql多线程访问数据库报错:Packet sequence number wrong - got 7 expected 2 原文:https://www.cnblogs.com/heiao10 ...
- python - ORM 查询
1. 正常查询: ## 效率低,因为每次查询都是查询表和关联表的所有数据 ret = User.objects.all() for item in ret: print(item.name,item. ...
- 关于跨域介绍和djiago解决跨域问题
什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 什么是同源策略? 同源策略又分为以下两种 DOM同源策略:禁止对不 ...
- springmvc文件上传AND jwt身份验证
SpringMVC文件上传 思路:1.首先定义页面,定义多功能表单(enctype=“multipart/form-data”)2.在Controller里面定义一个方法,用参数(MultipartF ...
- 洛谷 P816 忠诚 题解
每日一题 day28 打卡 Analysis 这道题用线段树维护区间最小值很简单,因为没有修改所以连lazy_tag都不用,但是这道题可以用树状数组维护区间最小值,非常骚气. 线段树代码: #incl ...
- Linux 服务器用户间ssh免密码登录
1.本脚本为服务器用户间密码互信登录脚本 2.依赖 需要安装expect工具 3.使用 sh CreateUserssh.sh hadoop hadoop /home/hadoop/.ssh 三个带入 ...
- (22)打鸡儿教你Vue.js
vue.js 单页面,多页面 Vue cli工具 复杂单页面应用Vue cli工具 交互设计,逻辑设计,接口设计 代码实现,线上测试 git clone,git int 创建分支,推送分支,合并分支 ...
- Hadoop NameNode 元数据以及查看元数据的方式
HDFS中NameNode工作机制1.NameNode的主要功能(1)负责客户端请求的响应: (2)负责元数据的管理. 2.元数据管理namenode对数据管理采用了三种存储形式: (1)内存元数据: ...
- SyntaxError: Non-ASCII character 'æ' in file csdn.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
错误信息: SyntaxError: Non-ASCII character , but no encoding declared; see http://python.org/dev/peps/pe ...