Is instantiating an acceptable way to call methods from other classes? [closed]

I’m a new Kotlin dev switched from Java. I have many Helper/Util classes in my project which can have up to 20 methods in some. In Java I used to set the functions as public static and I understand that companion object works the same way in Kotlin.

However I find that calling the methods using instantiate is similarly easy to manage and I don’t have to place the methods in companion object. I recently realised that using this way all the time might be risky performance wise(?) and thought it’d be good to ask here. So is instantiating an acceptable way to call methods from other classes?

ConversionHelper

class ConversionHelper {
    fun convertTemperature(value: Int) {
       //code...
    }

    fun convertPressure(value: Int) {
       //code...
    }
}

SomeActivity

class SomeActivity : AppCompatActivity() {
   override fun onCreate(savedInstanceState: Bundle?) {
      //code...

      val tempValue = 26
      val pressureValue = 300

      val displayTemperature = ConversionHelper().convertTemperature(tempValue)
      val displayPressure = ConversionHelper().convertPressure(pressureValue)
   }
}

In my search for this answer, I learned that declaring the Helper/Util classes as Object is a good way to do this as well so I’ll be considering it. But for other classes is above an acceptable way to go about it?

New contributor

hashesofdreams is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

0

That is ugly, obtuse code. It does affect performance, but not significantly unless you’re doing it inside a big loop iteration.

You can simply create object classes. No need for companion objects if your utility functions aren’t associated with a class you actually need to create instances of.

object ConversionHelper {
    fun convertTemperature(value: Int) {
       //code...
    }

    fun convertPressure(value: Int) {
       //code...
    }
}

Even if object classes didn’t exist, it would be far preferable to use companion objects over forcing a useless class to be instantiated just to call a helper function. That is basically forcing you to write code that looks like nonsense.

Recognized by Mobile Development Collective

2

So that works, but you’re creating a lot of unneeded objects. There’s a few better ways:

Method 1: Don’t make them class methods. In Kotlin, unlike Java, methods can exist outside any class. So just make them at file scope:

fun convertTemperature(value: Int){}

Method 2: Make them static functions on the object. To do this:

class ConversionHelper {
    companion object {
        fun convertTemperature(value: Int) {
           //code...
        }
    }
}

It can then be called via ConversionHelper.convertTemperature(value)

Recognized by Mobile Development Collective

1

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật