1. Trang chủ
  2. » Cao đẳng - Đại học

Ngôn ngữ lập trình Python 3 object oriented programming (OOP)

70 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 4 MB

Nội dung

Trịnh Tấn Đạt Đại Học Sài Gòn trinhtandatsgu edu vn http sites google comsitettdat88 Nội Dung  Introduction  Namespaces and Dataclasses  Classes in Python  Inheritance in Python  Multiple Inheritance  Operator Overloading  Example OOP  Trong Python, khái niệm về OOP tuân theo một số nguyên lý cơ bản là tính đóng gói, tính kế thừa và tính đa hình  Tính kế thừa (Inheritance) cho phép một lớp (class) có thể kế thừa các thuộc tính và phương thức từ các lớp khác đã được định nghĩa  Tín.

Trịnh Tấn Đạt Đại Học Sài Gòn trinhtandat@sgu.edu.vn http://sites.google.com/site/ttdat88 Nội Dung  Introduction  Namespaces and Dataclasses  Classes in Python  Inheritance in Python  Multiple Inheritance  Operator Overloading  Example OOP  Trong Python, khái niệm OOP tuân theo số nguyên lý tính đóng gói, tính kế thừa tính đa hình  Tính kế thừa (Inheritance): cho phép lớp (class) kế thừa thuộc tính phương thức từ lớp khác định nghĩa  Tính đóng gói (Encapsulation): quy tắc yêu cầu trạng thái bên đối tượng bảo vệ tránh truy cập từ code bên ngoai  Tính đa hình (Polymorphism): khái niệm mà hai nhiều lớp có phương thức giống thực thi theo cách thức khác Lớp (Class) Đối tượng (Object)  Đối tượng (Object) thực thể tồn có hành vi  Lớp (Class) kiểu liệu đặc biệt người dùng định nghĩa, tập hợp nhiều thuộc tính đặc trưng cho đối tượng tạo từ lớp  Một đối tượng thực thể (instance) lớp  Phương thức (Method) hàm định nghĩa bên phần thân lớp Chúng sử dụng để xác định hành vi đối tượng Kế thừa (Inheritance)  Tính kế thừa cho phép lớp (class) kế thừa thuộc tính phương thức từ lớp khác định nghĩa  Lớp có gọi lớp cha, lớp phát sinh gọi lớp Lớp kế thừa tất thành phần lớp cha, mở rộng thành phần kế thừa bổ sung thêm thành phần Đóng gói (Encapsulation)  Sử dụng OOP Python, hạn chế quyền truy cập vào trạng thái bên đối tượng Điều ngăn chặn liệu bị sửa đổi trực tiếp, gọi đóng gói  Trong Python, biểu thị thuộc tính private cách sử dụng dấu gạch làm tiền tố: “_” “ “ Đa hình (Polymorphism)  Tính đa hình khái niệm mà hai nhiều lớp có phương thức giống thực thi theo cách thức khác  Giả sử, cần tơ màu hình khối, có nhiều lựa chọn cho hình bạn hình chữ nhật, hình vng, hình trịn Tuy nhiên, bạn sử dụng phương pháp để tơ màu hình dạng Methods vs Functions  Các phương thức (method) thường sử dụng s.f() thay f(s) s = 'hello world!' print(len(s)) # len hàm print(s.upper()) # upper is a string method, called using the notation # gọi phương thức upper cho chuỗi s print(s.replace('hello', 'hi')) # vài method có thêm đối số Methods vs Functions  Ví dụ lỗi cách sử dụng method function không n = 123 print(len(n)) # TypeError: object of type 'int' has no len() n = 123 print(n.upper()) # AttributeError: 'int' object has no attribute 'upper’ Classes and Instances  Classes thường gọi "Types" Python Ví dụ classes int, float, str, bool  Instances giá trị cụ thể class kiểu định Ví dụ ‘hello’ thực thể string (hay gọi string) x = print(type(x)) print(type('hello')) # #  Tương tự vậy, bạn nạp chồng nhiều tốn tử khác Ví dụ: Overloading Comparison Operators  Python khơng giới hạn phép nạp chồng toán tử tốn học, mà cịn cho phép người dùng nạp chồng tốn tử so sánh  Có nhiều tốn tử so sánh hỗ trợ Python, ví dụ như: , =, ==,  Bạn sử dụng nạp chồng toán tử muốn so sánh đối tượng lớp với Ví dụ:  Ví dụ bạn muốn so sánh điểm class Point, so sánh độ lớn điểm gốc tọa độ, # overloading the less than operator class Point: def init (self, x=0, y=0): self.x = x self.y = y def str (self): return "({0},{1})".format(self.x, self.y) def lt (self, other): self_mag = (self.x ** 2) + (self.y ** 2) other_mag = (other.x ** 2) + (other.y ** 2) return self_mag < other_mag p1 = Point(1,1) p2 = Point(-2,-3) p3 = Point(1,-1) # use less than print(p1 > print(harry.greet) # Calling object' s greet() method # Output: Hello harry.greet() Ví dụ: # Create our own class: # Tất lớp Python điều kết thừa từ lớp object (class object) ... cách sử dụng method function không n = 1 23 print(len(n)) # TypeError: object of type 'int' has no len() n = 1 23 print(n.upper()) # AttributeError: 'int' object has no attribute 'upper’ Classes... self.age = age Tham chiếu self  self giống this ngôn ngữ hướng đối tượng khác Đối với ngơn ngữ khác khơng cần phải truyền this self vào Nhưng Python yêu cầu phải  Các tham số self tham chiếu

Ngày đăng: 28/04/2022, 06:53

HÌNH ẢNH LIÊN QUAN

 Tính đa hình (Polymorphism): là khái niệm mà hai hoặc nhiều lớp có những phương thức giống nhau nhưng có thể thực thi theo những cách thức khác nhau.phương thức giống nhau nhưng có thể thực thi theo những cách thức - Ngôn ngữ lập trình Python 3 object oriented programming (OOP)
nh đa hình (Polymorphism): là khái niệm mà hai hoặc nhiều lớp có những phương thức giống nhau nhưng có thể thực thi theo những cách thức khác nhau.phương thức giống nhau nhưng có thể thực thi theo những cách thức (Trang 3)
Đa hình (Polymorphism) - Ngôn ngữ lập trình Python 3 object oriented programming (OOP)
a hình (Polymorphism) (Trang 7)
 Tính đa hình là khái niệm mà hai hoặc nhiều lớp có những phương thức giống nhau nhưng có thể thực thi theo những cách thức khác nhau. - Ngôn ngữ lập trình Python 3 object oriented programming (OOP)
nh đa hình là khái niệm mà hai hoặc nhiều lớp có những phương thức giống nhau nhưng có thể thực thi theo những cách thức khác nhau (Trang 7)
Hình tam giác là đa giác có ba cạnh, nên tasẽ tạo một lớpTriangle kế thừa từPolygon. - Ngôn ngữ lập trình Python 3 object oriented programming (OOP)
Hình tam giác là đa giác có ba cạnh, nên tasẽ tạo một lớpTriangle kế thừa từPolygon (Trang 38)
• Chúng ta có thể sử dụng khái niệm đa hình trong khi tạo các phương thức vì Python cho phép cáclớpkhác nhau có cácphương thứctrùng tên. - Ngôn ngữ lập trình Python 3 object oriented programming (OOP)
h úng ta có thể sử dụng khái niệm đa hình trong khi tạo các phương thức vì Python cho phép cáclớpkhác nhau có cácphương thứctrùng tên (Trang 62)
Polymorphism and Inheritance - Ngôn ngữ lập trình Python 3 object oriented programming (OOP)
olymorphism and Inheritance (Trang 64)
 Tính đa hình cho phép chúng ta truy cập các phương thức và thuộc tính bị ghi đè này có cùng tên với lớp cha.đè này có cùng tên với lớp cha. - Ngôn ngữ lập trình Python 3 object oriented programming (OOP)
nh đa hình cho phép chúng ta truy cập các phương thức và thuộc tính bị ghi đè này có cùng tên với lớp cha.đè này có cùng tên với lớp cha (Trang 64)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w