Kotlin Newbie to Pro - ANONYMOUS CLASSES - Part 26

Поділитися
Вставка
  • Опубліковано 15 вер 2024

КОМЕНТАРІ • 23

  • @dmgujjar6044
    @dmgujjar6044 2 роки тому +1

    This is the best programming tutorial of my career since 2014!!

  • @srr1424
    @srr1424 2 роки тому +1

    Thank u philipp for the best and awesome series.
    I am one of your subscriber.

  • @mariuszmilewski2084
    @mariuszmilewski2084 Рік тому +1

    I'm not a programmer, but I like to play with programming from time to time.
    Kotlin this time.
    So far your lessons are the best I've found.👍👍
    I grew up on functions and still can't understand what classes give :), but maybe someday...

    • @lukalukovic5082
      @lukalukovic5082 Рік тому +1

      Philipp is really good, because of him I landed a job as an android developer at only 18 years old. I recommend you stick to him if you want to become an android developer, and good luck in your future endeavours

    • @Luffy_2804
      @Luffy_2804 Рік тому

      @@lukalukovic5082 how much time did it take to learn android dev?

    • @userglls
      @userglls 6 місяців тому

      @@lukalukovic5082 I've been learnin kotlin from that playlist. I'll become an android dev in future (I'm 15)

  • @ekkawutemeelugsana7068
    @ekkawutemeelugsana7068 2 роки тому +4

    Hi Philipp Lackner,
    I have a question about this Anonymous classes
    because with this example I would prefer to create a new class that Inherit from Shape.
    for S.O.L.I.D Principle, So I don't have to touch the Shape class anymore.
    class Parallelogram(private val a: Double, private val b: Double, private val height : Double) : Shape("Parallelogram"){
    override val area: Double = a * height
    override val perimeter: Double = 2 * a + 2 * b
    fun isRectangle() = height == b
    }
    Could you give me another and more clear example about when to use Anonymous classes and why?

  • @s.predator536
    @s.predator536 Рік тому +1

    Wow this is series is so good🔥

  • @thomasgeorge4578
    @thomasgeorge4578 4 роки тому +2

    These videos are really good 🔥🔥

  • @mohammednashat6707
    @mohammednashat6707 Рік тому

    احسن واحد ف الكون 😉

  • @numeshdilusha8106
    @numeshdilusha8106 Рік тому

    Pill can you mention the real life use case as well it would be grate for new students !

  • @filip_g
    @filip_g 3 роки тому +1

    AMAZING!

  • @asimlatif360
    @asimlatif360 3 роки тому

    Great Explanation!

  • @kevinsolanki6232
    @kevinsolanki6232 3 роки тому +3

    This is strange.. really strange..I didn't get it...
    So as you said first...When we need implementation of class with slight modification but we don't want to create completely new class for and this case we can create anonymous class.
    So..which class is anonymous !?...Okay we got only one class here..so does that mean Shape class is anonymous class !?..and where implemented modification !?

    • @PhilippLackner
      @PhilippLackner  3 роки тому +1

      The anonymous class is what you create with object : Shape

    • @kevinsolanki6232
      @kevinsolanki6232 3 роки тому +1

      I completely ignored object keyword🤦🤦🤦.
      Now I know why there was quiz question on website that whether "object" keyword we use in anonymous class is different than the "object" keyword we use in companion object.
      So, now we can do whatever we want in this object: Shape class because it is anonymous.
      Thanks bro🙏✨🌈

  • @jayjan_py
    @jayjan_py 11 днів тому

    Me learning this concept and knowing I am never going to use this in real life. 😭😭

  • @pikaboyny
    @pikaboyny 3 роки тому +2

    How common would you say Anonymous classes are used in implementations of Kotlin like Android Development? It looks like it's very useful but I feel like it's not good coding conventions? I don't know, I'm transitioning from Java so it's weird to have so much more flexibility in a language like Kotlin lol

    • @PhilippLackner
      @PhilippLackner  3 роки тому +2

      It's very commonly used. You also have it in Java (for example if you do something like new Interface{...})

  • @jonievillejo6746
    @jonievillejo6746 Рік тому

    // :) I hope I understand well that you meant to say was a Trapezoid. Just created the main here.
    fun main() {
    val base1 = 3.0
    val base2 = 11.0
    val leg1 = 8.0
    val leg2 = 10.0
    val height = 7.0
    val trapezoid = object : ShapeAssignment26("Trapeze", base1, base2, leg1, leg2, height) {
    init {
    println("Trapeze created with base1 = $base1, base2 = $base2, leg1 = $leg1, leg2 = $leg2 and height = $height")
    println("The area is ${area()}")
    println("The perimeter is ${perimeter()}")
    }
    override fun area(): Double {
    return height * ((base1 + base2) / 2)
    }
    override fun perimeter(): Double {
    return (base1 + base2 + leg1 + leg2)
    }
    fun isRectangle(): Boolean = ((leg1 == height) && (leg2 == height))
    }
    println("Is the Trapeze a rectangle? ${trapezoid.isRectangle()}")
    }

  • @zepra2133
    @zepra2133 Рік тому

    is other language have anonymus class like this?

  • @AniobiStanley
    @AniobiStanley Рік тому

    val base1 = 4.0
    val base2 = 6.0
    val side1 = 3.0
    val side2 = 5.0
    val height = 2.0
    val trapezium = object : Shape("Trapezium", base2, base1, side2, side1){
    init {
    println("Created a $name with sides: $side1, $side2, $base1, $base2.
    Area of the $name is ${area()}.
    Perimeter of the $name is ${perimeter()}.")
    }
    override fun area(): Double = 0.5 * height * (base2 + base1)
    override fun perimeter(): Double = base1 + base2 + side1 + side2
    fun isRectangle() = side2 == side1
    }
    println("Is the ${trapezium.name} a rectangle? - ${trapezium.isRectangle()}.")