发表日期: 2022-04-16 10:42:10 浏览次数:124
约六世纪末七世纪初,崛起于山南—带的雅隆部落,势力扩张到拉萨北部。松赞干布的父亲囊日伦赞统治时,在娘、韦、嫩等家族的配合下,攻入赤邦松的堡寨,占领了拉萨地区。此后不久,松赞干布继位。松赞干布是西藏历史上的著名人物,被称作“骁勇多英略”,在拉萨城的历史上亦很有地位。为了巩固和发展新建立起来的政权,避开以前地方上的各种的贵族豪酋势力的干扰,他决定将根据地从山南移到拉萨,唐朝称其为“逻些”。约633年,松赞干布在拉萨建立了强大吐蕃王朝。
如果主构造器没有任何注解,也没有任何可见度修饰符,那么constructor关键字可以省略。
class Person(firstName: String) {}属性声明的完整语法:
var <propertyName>[: <PropertyType>] [= <property_initializer>] [<getter>] [<setter>]
getter 和 setter 都是可选
如果属性类型可以从初始化语句或者类的成员函数中推断出来,那就可以省去类型,val不允许设置setter函数,因为它是只读的。
var allByDefault: Int? // 错误: 需要一个初始化语句, 默认实现了 getter 和 setter 方法var initialized = 1 // 类型为 Int, 默认实现了 getter 和 setterval simple: Int? // 类型为 Int ,默认实现 getter ,但必须在构造函数中初始化val inferredType = 1 // 类型为 Int 类型,默认实现 getter
以下实例定义了一个 Person 类,包含两个可变变量 lastName 和 no,lastName 修改了 getter 方法,no 修改了 setter 方法。
class Person {
var lastName: String = "zhang"
get() = field.toUpperCase() // 将变量赋值后转换为大写
set
var no: Int = 100
get() = field // 后端变量
set(value) {
if (value < 10) { // 如果传入的值小于 10 返回该值
field = value } else {
field = -1 // 如果传入的值大于等于 10 返回 -1
}
}
var heiht: Float = 145.4f
private set}// 测试fun main(args: Array<String>) {
var person: Person = Person()
person.lastName = "wang"
println("lastName:${person.lastName}")
person.no = 9
println("no:${person.no}")
person.no = 20
println("no:${person.no}")}
约公元1世纪前后,高原上出现了大大小小的氏族部落。经过多年的和战,又集结成若干个部落联盟,其中以山南河谷的雅隆部落联盟、阿里地区的象雄王国和雅鲁藏布江以北的苏毗部落联盟最为强大。这时,拉萨河的古名“吉曲”已经出现。拉萨所在地则被人称为“吉雪沃塘”,意为“吉曲河下游的肥沃坝子”。