Android-Kotlin的继承以及GET-SET-方法的使用

执行的结果:
image



3.案例三,父类 子类 简单继承:

package cn.kotlin.kotlin_oop03

/**

  • 描述父类
    */
    // open 理解为对外暴露,其他地方可以继承
    open class Father {

// 定义描述性格的变量 注意:var kidney:String 此变量的String是Kotlin的
var kidney:String = “性格文静,热爱运动,喜欢学习”

/**

  • 描述武功的行为/方法
    */
    // open 理解为对外暴露,其他地方可以调用
    open fun showGest() {
    println(“武功平常,只能打打小混混”)
    }
    }

/**

  • 描述子类
    */
    class Child : Father() {

/**

  • 描述武功的行为/方法
    */
    // override代表重写父类的方法
    override fun showGest() {
    println(“拥有上乘武功,神照经,难遇敌手…”)
    }

}

/**

  • main测试方法
    */
    fun main(args: Array) {
    // 打印父类的信息
    var f = Father();
    println(“父类的性格:${f.kidney}”)
    f.showGest() // 父类的武功

println(“-------------------------------------------”)

// 打印子类的信息
var c = Child();
println(“子类的性格:${c.kidney}”)
c.showGest() // 子类的武功

println(“-------------------------------------------”)

// 父类的引用指向子类的对象 以前Java的写法 父类 fc = new 子类();
var fc:Father = Child()
fc.showGest()
}

运行结果:
image



Get/Set方法的使用

接着往下讲解kotlin的get/set方法的使用。

Student.kt

package cn.kotlin.kotlin_oop04

open class Person {
open var personName:String = “我是父类的名字”
}

class Student: Person() {

/**

  • name用private私有修饰,外界其他地方不准访问,隐藏细节
  • name提供set get 方法 对外暴露功能
  • 对细节隐藏,只暴露自定义暴露的东东,就是属于封装的体现
    */
    private var name:String = “”

fun getName() : String{
return name
}

fun setName(name:String) {
this.name = name
}

/**

  • age用private私有修饰,外界其他地方不准访问,隐藏细节
  • age提供set get 方法 对外暴露功能
  • 对细节隐藏,只暴露自定义暴露的东东,就是属于封装的体现
    */
    private var age:Int = 0

fun getAge() : Int{
return age
}

fun setAge(value: Int) {
if (value <0 || value > 150) {
println(“传入的${age}值不规范 出现异常 请检查代码”)
return
}
age = value
}

/**

  • sex用private私有修饰,外界其他地方不准访问,隐藏细节
  • sex提供set get 方法 对外暴露功能
  • 对细节隐藏,只暴露自定义暴露的东东,就是属于封装的体现
    */
    private var sex:String = “”

fun getSex() : String {
return sex
}

fun setSex(sex : String) {
if (“男”.equals(sex) || “女”.equals(sex)) {
this.sex = sex
return
}
println(“传入的${sex}值不规范 出现异常 请检查代码”)
}

/**

  • 获取父类Person的personName
    */
    override var personName: String
    get() = super.personName
    set(value) {personName = value}
    }

/**

  • main测试方法
    */
    fun main(args: Array) {
    var student = Student()

// 设置所以属性信息
setAllData(student)

// 打印所以属性信息
toAllInfoShow(student)
}

/**

  • 设置所以属性信息
    */
    fun setAllData(student: Student) {
    student.setName(“猪小明”)
    student.setAge(99)
    student.setSex(“男”)
    }

/**

  • 打印所以属性信息
    */
    fun toAllInfoShow(student : Student) {
    println(“name: s t u d e n t . g e t N a m e ( ) , a g e : {student.getName()}, age: student.getName(),age:{student.getAge()}, sex:${student.getSex()}”)
    }

在Kotlin中,getter和setter是可选的,如果你没有在代码中创建它们,它是会默认自动生成,是看不到的:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

作者2013年从java开发,转做Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。

参与过不少面试,也当面试官 面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!

我整理了一份阿里P7级别的最系统的Android开发主流技术,特别适合有3-5年以上经验的小伙伴深入学习提升。

主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。如果你想深入系统学习Android开发,成为一名合格的高级工程师,可以收藏一下这些Android进阶技术选型

我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

Java语言与原理;
大厂,小厂。Android面试先看你熟不熟悉Java语言

高级UI与自定义view;
自定义view,Android开发的基本功。

性能调优;
数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。

NDK开发;
未来的方向,高薪必会。

前沿技术;
组件化,热升级,热修复,框架设计

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,GitHub可见;《Android架构视频+学习笔记》

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,GitHub可见;《Android架构视频+学习笔记》

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

  • 28
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android开发使用Kotlin语言开发Material Design项目可以带来很多好处。Kotlin是一种现代化的编程语言,它可以提高开发效率、减少代码量、提高代码可读性和可维护性。同时,Material Design是一种现代化的设计语言,它可以提高用户体验、提高应用的可用性和可访问性。因此,使用Kotlin开发Material Design项目可以使应用更加现代化、高效、易于维护和易于使用。 ### 回答2: 随着移动设备的迅速普及,Android操作系统已经成为全球最流行的移动操作系统之一。这使得Android应用程序的开发变得越来越受欢迎,许多开发人员也开始学习和掌握这个平台。随着时间的推移,开发人员也在不断寻找最好的解决方案来创建优秀的应用程序,其中kotlin和material design就是两种最受欢迎的选择。 Kotlin是一种高级编程语言,它是Java虚拟机的官方语言之一。KotlinAndroid开发中的流行程度日益增加,因为它具有许多特性,如可空类型、lambdas、扩展函数等,使得开发Android应用程序更加便捷和高效。Kotlin支持Java虚拟机,并非Android特定的开发语言,因此具有更广泛的用途,可以与其他语言无缝集成。同时,Kotlin还有很多实用特性,如可空类型、类型推断、lambda表达式等,能够在Android开发中大幅提高开发效率,在代码中减少了很多荣誉的代码和冗长表达式的麻烦。 Material Design是一种设计语言,由Google推出,旨在为移动和Web应用程序提供一致的极致体验。Material Design提供了一系列的设计指南、模式和组件,以便开发人员可以为他们的应用程序在不同平台和设备上提供一致的体验,从而使应用程序更加具有现代感和吸引力。 Material Design为Android开发者提供了一些标准的界面组件,如浮动操作按钮、抽屉式导航等,同时也支持进行自定义设计,为应用程序增加独特的特色。 综合考虑,使用Kotlin和Material Design组合开发Android应用程序可以有很多好处。Kotlin可以使代码更加简洁,同时使用Material Design的组件和元素可以使应用程序显得更加现代和美观。 这种组合还可以提高开发效率,减少代码中的bug,在Android平台上提供更好的用户体验,从而为应用程序的成功打下坚实的基础。总的来说,采用这种开发方式的应用程序将具有更高的可维护性和可扩展性,也将在市场上拥有更高的竞争力。 ### 回答3: 在当前的移动应用开发市场中,Android系统已经成为了主流之一,其开发工具也被越来越多的开发者采用。而Kotlin语言作为一种新兴的编程语言,因其简洁、安全、互通性和易用性等特点,在Android系统开发中越来越受到开发者的欢迎。 在这种情况下,开发Material Design项目需要用到的技术和工具也应该是非常有趣的。 Android系统采用Material Design作为其UI设计风格,提供了一套完备的UI组件库。要开发Material Design的应用程序,需要遵循Google的Material Design规范以及使用相关的Android开发API和工具。Kotlin语言提供了很多的便利,在使用Android开发API和工具的同时,还提供了方便的语法和Lambda表达式。 使用Kotlin开发Material Design项目还可以提高应用程序的安全性,避免因类型不安全、空指针等问题导致的错误。Kotlin还支持函数式编程,可以提供更好的编写UI代码的方法,帮助开发人员高效编写代码,提高开发效率。 Kotlin增加了一些与Java不同的特性,使得开发者能够更快、更方便地编写代码。例如,Kotlin具有空安全机制,可帮助开发者尽早发现和解决可能导致应用程序崩溃的问题,从而提高应用程序的质量。Kotlin还提供了lambda表达式、扩展功能和集合操作,更方便开发人员在项目中增加新特性,缩短应用开发周期。 虽然Kotlin开发Material Design项目相对于Java来说还是一个相对新的领域,但随着Kotlin使用率的逐渐增加,越来越多的开发者正在使用和探索KotlinAndroid开发中的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值