Programming Kotlin Applications. Бретт Мак-Лахлин
Чтение книги онлайн.

Читать онлайн книгу Programming Kotlin Applications - Бретт Мак-Лахлин страница 9

Название: Programming Kotlin Applications

Автор: Бретт Мак-Лахлин

Издательство: John Wiley & Sons Limited

Жанр: Программы

Серия:

isbn: 9781119696216

isbn:

СКАЧАТЬ contravariance, and invariance. These might not be the hot topics at the water cooler, but they'll be key to building programs that use generics correctly, and also level up your understanding of inheritance and subclassing.

       Chapter 7: Flying through Control Structures Control structures are the bread and butter of most programming languages. This chapter breaks down your options, covering if and else, when, for, while, and do. Along the way, you'll focus on controlling the flow of an application or set of applications all while getting a handle on the semantics and mechanics of these structures.

       Chapter 8: Data Classes This chapter introduces data classes, another very cool Kotlin concept. While not specific to only Kotlin, you'll find that data classes offer you a quick and flexible option for representing data more efficiently than older languages. You'll also really push data classes, going beyond a simple data object and getting into constructors, overriding properties, and both subclassing with and extending from data classes.

       Chapter 9: Enums and Sealed, More Specialty Classes This chapter introduces enums, a far superior approach to String constants. You'll learn why using Strings for constant values is a really bad idea, and how enums give you greater flexibility and type safety, as well as making your code easier to write. From enums, you'll move into sealed classes, a particularly cool feature of Kotlin that lets you turbo-charge the concept of enums even further. You'll also dig into companion objects and factories, all of which contribute to a robust type-safe approach to programming where previously only String types were used.

       Chapter 10: Functions and Functions and Functions It may seem odd to have a chapter this late in the book that purports to focus on functions. However, as with most fundamentals in any discipline, you'll have to revisit the basics over and over again, shoring up weaknesses and adding nuance. This chapter does just that with functions. You'll dig more deeply into just how arguments really work, and how many options Kotlin provides to you in working with data going into and out of your functions.

       Chapter 11: Speaking Idiomatic Kotlin Kotlin, like all programming languages, has certain patterns of usage that seasoned programmers revert to time and time again. This chapter discusses these and some of the idioms of Kotlin. You'll get a jump start on writing Kotlin that looks like Kotlin is “supposed to” all while understanding how you have a tremendous amount of flexibility in choosing how to make your Kotlin programs feel like “you.”

       Chapter 12: Inheritance, One More Time, with Feeling Yes, it really is another chapter on inheritance! This chapter takes what you've already learned about abstract classes and superclasses and adds interfaces and implementations into the mix. You'll also learn about the delegation pattern, a common Kotlin pattern that helps you take inheritance even further with greater flexibility than inheritance alone provides.

       Chapter 13: Kotlin: The Next Step No book can teach you everything you need to know, and this book is certainly no exception. There are some well-established places to look for next steps in your Kotlin programming journey, though, and this chapter gives you a number of jumping-off points to continue learning about specific areas of Kotlin.

      Reader Support for This BookCompanion Download Files

      As you work through the examples in this book, the project files you need are available for download from www.wiley.com/go/programmingkotlinapplications.

      How to Contact the Publisher

      If you believe you've found a mistake in this book, please bring it to our attention. At John Wiley & Sons, we understand how important it is to provide our customers with accurate content, but even with our best efforts an error may occur.

      In order to submit your possible errata, please email it to our Customer Service Team at [email protected] with the subject line “Possible Book Errata Submission.”

      How to Contact the Author

      We appreciate your input and questions about this book! Email me at [email protected], or DM me on Twitter at @bdmclaughlin.

      WHAT'S IN THIS CHAPTER?

       A look at Kotlin syntax

       A brief history of Kotlin

       How Kotlin is like Java—and how it isn't

       Getting set up to code and run Kotlin

       Your first Kotlin program

       Why objects are cool (and why that matters)

      Kotlin, when you boil it all down, is just another programming language. If you're programming and writing code already, you'll pick up Kotlin quickly, because it has a lot in common with what you're already doing. That's even more the case if you're programming in an object-oriented language, and if you're coding in Java, well, Kotlin is going to feel very familiar, although different in some very nice ways.

      If you're new to Kotlin, though, it's a great first language. It's very clear, it doesn't have lots of odd idioms (like, for example, Ruby or, god help us all, LISP), and it's well organized. You'll pick it up fast and find yourself comfortable quite quickly.

      data class User(val firstName: String, val lastName: String) fun main() { val brian = User("Brian", "Truesby") val rose = User("Rose", "Bushnell") val attendees: MutableList<User> = mutableListOf(brian, rose) attendees.forEach { user -> println("$user is attending!") } }

      Take a minute or two to read through this code. Even if you've never looked at a line of Kotlin before, you can probably get a pretty good idea of what's going on. First, it defines a User class (and in fact, a special kind of class, a data class; more on that later). Then it defines a main function, which is pretty standard fare. Next up are two variables (or vals), each getting an instance of the User class defined earlier. Then a list is created called attendees and filled with the two users just created. Last up is a loop through the list, doing some printing for each.

      If you ran this code, you'd get this rather unimpressive output:

      User(firstName=Brian, СКАЧАТЬ