Gọi hàm bên ngoài lớp javascript

Chúng ta đều biết Python là ngôn ngữ lập trình hướng đối tượng, và trong Python thì mọi thứ đều là đối tượng kể cả thuộc tính và phương thức. Trong Python, lớp giống như hàm tạo của đối tượng để tạo đối tượng. Do đó, các biến có thể được định nghĩa bên trong lớp, bên ngoài lớp và bên trong các phương thức trong Python. Các biến được định nghĩa bên ngoài lớp có thể được truy cập bởi bất kỳ phương thức hoặc lớp nào chỉ bằng cách viết tên biến. Vì vậy, trong bài viết này, chúng ta sẽ học cách định nghĩa một phương thức bên ngoài định nghĩa lớp

Phương thức trong Python là gì?

Vì Python là ngôn ngữ lập trình hướng đối tượng nên nó có các đối tượng bao gồm các thuộc tính. Các thuộc tính xác định các thuộc tính của các đối tượng này và hành vi được xác định bằng các phương thức. Các phương thức là các đoạn mã có thể tái sử dụng được gọi tại bất kỳ điểm nào trong chương trình và được định nghĩa bên trong lớp. Mỗi phương thức được liên kết với lớp và có thể được gọi trên các thể hiện của lớp đó

Ví dụ: chúng ta có thể xem xét một lớp có tên '

Name- Finxter
Id – 1020
Rank- 1
0' chứa các thuộc tính như
Name- Finxter
Id – 1020
Rank- 1
1,
Name- Finxter
Id – 1020
Rank- 1
2 và
Name- Finxter
Id – 1020
Rank- 1
3. Lớp cũng giữ các hành vi như
Name- Finxter
Id – 1020
Rank- 1
4,
Name- Finxter
Id – 1020
Rank- 1
5 và
Name- Finxter
Id – 1020
Rank- 1
6. Giả sử một đối tượng
Name- Finxter
Id – 1020
Rank- 1
7 có các thuộc tính sau

Name- Finxter
Id – 1020
Rank- 1

Đây là cách bạn có thể gán các giá trị

class Student:
    def __init__(self, name, id, rank):
        self.name = name
        self.id = id
        self.rank = rank

    def run(self):
        print(f'{self.name} is a cross country champion!')

    def jump(self):
        print(f'{self.name} with the following ID: {self.id} is a high jumper!')

    def swim(self):
        print(f'{self.name} secured rank {self.rank} in swimming.')


stud1 = Student('Finxter', 1020, 1)
stud1.run()
stud1.jump()
stud1.swim()

đầu ra

Name- Finxter
Id – 1020
Rank- 1
0

Ví dụ trên đã minh họa cách truyền thống để thêm chức năng (phương thức) vào lớp Python. Ở đây, các phương thức đã được định nghĩa bên trong thân lớp. Bây giờ, giả sử bạn muốn định nghĩa một phương thức bên ngoài thân lớp. Làm thế nào bạn sẽ làm như vậy?

Xác định phương thức bên ngoài và sử dụng nội dung bên trong lớp

Ý tưởng ở đây là định nghĩa phương thức bên ngoài lớp và sau đó sử dụng nó bên trong thân lớp, như minh họa bên dưới

ví dụ 1

Name- Finxter
Id – 1020
Rank- 1
1

Bạn cũng có thể định nghĩa một lớp trước và sau đó thêm một phương thức hoặc hàm vào lớp đó từ bên ngoài phần thân của nó, như minh họa bên dưới

ví dụ 2

Name- Finxter
Id – 1020
Rank- 1
2

thận trọng. Chúng ta thậm chí có thể định nghĩa các hàm, phương thức và lớp trong các mô-đun khác nhau nếu chúng ta muốn. Tuy nhiên, nên sử dụng ví dụ 1 thay vì ví dụ 2 (xác định lớp trong một mô-đun, sau đó nhập nó vào một mô-đun khác và thêm các phương thức vào nó một cách linh hoạt) vì các đối tượng lớp có thể hoạt động khác nhau tùy thuộc vào việc mô-đun đã được nhập hay chưa

Có một cách khác để định nghĩa hàm bên ngoài một lớp và sau đó thêm nó vào. Nhưng có một sự khác biệt trong việc gán chức năng cho đối tượng thể hiện hoặc lớp. Nhìn vào ví dụ sau để hiểu sự khác biệt tinh tế

Name- Finxter
Id – 1020
Rank- 1
3

Giải trình. Hãy hiểu những gì đang xảy ra ở đây

  • Trong trường hợp của lớp
    Name- Finxter
    Id – 1020
    Rank- 1
    
    8 ,
    Name- Finxter
    Id – 1020
    Rank- 1
    
    9 giống như bất kỳ phương thức thông thường nào khác được liên kết với thể hiện của lớp. Chúng ta hãy xem nó trông như thế nào –
Gọi hàm bên ngoài lớp javascript
  • Trong trường hợp lớp
    class Student:
        def __init__(self, name, id, rank):
            self.name = name
            self.id = id
            self.rank = rank
    
        def run(self):
            print(f'{self.name} is a cross country champion!')
    
        def jump(self):
            print(f'{self.name} with the following ID: {self.id} is a high jumper!')
    
        def swim(self):
            print(f'{self.name} secured rank {self.rank} in swimming.')
    
    
    stud1 = Student('Finxter', 1020, 1)
    stud1.run()
    stud1.jump()
    stud1.swim()
    0,
    Name- Finxter
    Id – 1020
    Rank- 1
    
    9 chỉ đơn giản là một tham chiếu đến hàm bar, i. e. , nó không phải là một chức năng bị ràng buộc. Vì vậy, chúng ta phải truyền thể hiện cho chức năng này để nó hoạt động bình thường
Gọi hàm bên ngoài lớp javascript

Sử dụng thừa kế

Bạn thậm chí có thể sử dụng các phương thức của một lớp trong một lớp khác. Trong ví dụ sau, chúng ta có một lớp

class Student:
    def __init__(self, name, id, rank):
        self.name = name
        self.id = id
        self.rank = rank

    def run(self):
        print(f'{self.name} is a cross country champion!')

    def jump(self):
        print(f'{self.name} with the following ID: {self.id} is a high jumper!')

    def swim(self):
        print(f'{self.name} secured rank {self.rank} in swimming.')


stud1 = Student('Finxter', 1020, 1)
stud1.run()
stud1.jump()
stud1.swim()
2 với một số phương thức được định nghĩa bên trong nó. Tất cả các phương thức của lớp
class Student:
    def __init__(self, name, id, rank):
        self.name = name
        self.id = id
        self.rank = rank

    def run(self):
        print(f'{self.name} is a cross country champion!')

    def jump(self):
        print(f'{self.name} with the following ID: {self.id} is a high jumper!')

    def swim(self):
        print(f'{self.name} secured rank {self.rank} in swimming.')


stud1 = Student('Finxter', 1020, 1)
stud1.run()
stud1.jump()
stud1.swim()
2 có thể được kế thừa bởi lớp
class Student:
    def __init__(self, name, id, rank):
        self.name = name
        self.id = id
        self.rank = rank

    def run(self):
        print(f'{self.name} is a cross country champion!')

    def jump(self):
        print(f'{self.name} with the following ID: {self.id} is a high jumper!')

    def swim(self):
        print(f'{self.name} secured rank {self.rank} in swimming.')


stud1 = Student('Finxter', 1020, 1)
stud1.run()
stud1.jump()
stud1.swim()
4 như hình bên dưới

Name- Finxter
Id – 1020
Rank- 1
1

đầu ra

Name- Finxter
Id – 1020
Rank- 1
2

Đọc liên quan. Kế thừa trong Python

Sự kết luận

Tóm lại, hoàn toàn có thể có các hàm bên ngoài các lớp trong Python. Nếu bạn muốn tập hợp một nhóm các chức năng trong một hộp thì bạn chỉ cần đặt chúng lại với nhau trong cùng một mô-đun. Hơn nữa, bạn có thể lồng các mô-đun vào trong các gói. Bạn nên sử dụng các lớp khi phải tạo một kiểu dữ liệu mới và không chỉ sử dụng nó để nhóm các chức năng lại với nhau

Đó là nó cho cuộc thảo luận này và tôi hy vọng nó đã giúp bạn. Hãy theo dõi và đăng ký để có nhiều bài viết và thảo luận thú vị hơn trong tương lai. học tập vui vẻ


Bài viết của Shubham Sayon và Rashi Agarwal

Gọi hàm bên ngoài lớp javascript

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Bạn có thể sử dụng một chức năng bên ngoài một lớp trong lớp đó không?

Bạn cũng có thể chỉ cần sao chép một hàm được định nghĩa bên ngoài lớp vào lớp và sử dụng nó như một phương thức thông thường (không có bộ trang trí hoặc .

Bạn có thể gọi một hàm từ một lớp khác không?

Kết luận. Trong Java, một phương thức có thể được gọi từ một lớp khác dựa trên công cụ sửa đổi truy cập của nó . Ví dụ: một phương thức được tạo bằng công cụ sửa đổi công khai có thể được gọi từ bên trong cũng như bên ngoài lớp/gói. Phương thức được bảo vệ có thể được gọi từ một lớp khác bằng cách sử dụng tính kế thừa.

Gọi () trong JavaScript là gì?

Phương thức call() là một phương thức JavaScript được xác định trước . Nó có thể được sử dụng để gọi (gọi) một phương thức với đối tượng chủ sở hữu làm đối số (tham số). Với call() , một đối tượng có thể sử dụng một phương thức thuộc đối tượng khác.

Bạn có thể đặt một hàm trong một lớp JavaScript không?

Các lớp là các hàm . Các lớp được khai báo với từ khóa class. Chúng ta sẽ sử dụng cú pháp biểu thức hàm để khởi tạo một hàm và cú pháp biểu thức lớp để khởi tạo một lớp. Chúng ta có thể truy cập [[Prototype]] của một đối tượng bằng Object. A JavaScript class is a type of function. Classes are declared with the class keyword. We will use function expression syntax to initialize a function and class expression syntax to initialize a class. We can access the [[Prototype]] of an object using the Object.