Hướng dẫn python is pure object oriented or not - python có phải là hướng đối tượng thuần túy hay không

Tôi muốn biết tại sao Python không hoàn toàn hướng đến đối tượng. Ví dụ, nó không hỗ trợ các công cụ sửa đổi cấp độ truy cập riêng tư, công khai, được bảo vệ.

Những lợi thế và bất lợi của điều này là gì? Theo các biểu thức này, Python phù hợp với những ứng dụng nào [máy tính để bàn, khoa học, web hoặc khác]?

wjandrea

25.1k8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 bronze badges

Hỏi ngày 24 tháng 7 năm 2010 lúc 13:47Jul 24, 2010 at 13:47

Mahdi Amrollahimahdi AmrollahiMahdi Amrollahi

2.8505 huy hiệu vàng25 Huy hiệu bạc35 Huy hiệu đồng5 gold badges25 silver badges35 bronze badges

6

Python không hỗ trợ đóng gói mạnh mẽ, đây chỉ là một trong nhiều tính năng liên quan đến thuật ngữ "hướng đối tượng".

Câu trả lời chỉ đơn giản là triết học. Guido không thích che giấu mọi thứ, và nhiều người trong cộng đồng Python đồng ý với anh ta.

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:51Jul 24, 2010 at 13:51

Marcelo Cantosmarcelo CantosMarcelo Cantos

177K38 Huy hiệu vàng322 Huy hiệu bạc362 Huy hiệu Đồng38 gold badges322 silver badges362 bronze badges

7

Guido đã từng nói rằng "tất cả chúng ta đều đồng ý người lớn ở đây". Đây là lời giải thích dài hơn từ từ lâu: //mail.python.org/pipermail/tutor/2003-Ormult/025932.html

Có một thỏa thuận nhấn mạnh các yếu tố riêng tư và bạn không nên sử dụng chúng. Trừ khi bạn biết bạn đang làm gì và bạn thực sự muốn.

Liên kết cũng đề cập đến một cách khác để đặt nó trong trường hợp Perl:

"Một mô -đun Perl sẽ thích bạn ở ngoài phòng khách của nó vì bạn không được mời, không phải vì nó có một khẩu súng ngắn."
because you weren't invited, not because it has a shotgun."

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:53Jul 24, 2010 at 13:53

1

Tôi nghĩ Python được thiết kế để trở thành một con lai. Bạn có thể viết trong các kiểu định hướng đối tượng hoặc chức năng.

Đặc điểm của định hướng đối tượng là sự trừu tượng, đóng gói, kế thừa và đa hình. Cái nào trong số này bị thiếu trong Python?

Định hướng đối tượng là một sự liên tục. Chúng ta có thể nói rằng Smalltalk là người thuần khiết nhất, và tất cả những người khác chiếm những địa điểm khác nhau trên quy mô.

Không ai có thể nói giá trị của là 100% thuần khiết là gì. Có thể viết mã hướng đối tượng rất tốt bằng các ngôn ngữ không phải là smalltalk, bao gồm Python.

Python rất hữu ích trong tất cả các lĩnh vực đó: khoa học [numpy], web [django] và máy tính để bàn.

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:52Jul 24, 2010 at 13:52

Duffymoduffymoduffymo

302K44 Huy hiệu vàng367 Huy hiệu bạc554 Huy hiệu đồng44 gold badges367 silver badges554 bronze badges

Tôi tin rằng Python là một ngôn ngữ thực tế, rất thực tế.

Các khái niệm cung cấp giá trị cho nhà phát triển được đưa vào, mà không xem xét quá nhiều về các khái niệm thần học như "thiết kế oo thích hợp" và công cụ. Đó là ngôn ngữ cho những người có việc phải làm.

Tôi nghĩ rằng Python phù hợp cho tất cả các loại môi trường, mặc dù máy tính để bàn hơi khó khăn do thiếu một khung. Đối với tất cả các ứng dụng, rất tiện dụng để sử dụng một khung, như Numpy cho các công cụ tính toán, xoắn hoặc Django cho các công cụ web và wxwidgets hoặc các thứ khác cho các công cụ máy tính để bàn.

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:53Jul 24, 2010 at 13:53

Tôi nghĩ Python được thiết kế để trở thành một con lai. Bạn có thể viết trong các kiểu định hướng đối tượng hoặc chức năng.extraneon

Đặc điểm của định hướng đối tượng là sự trừu tượng, đóng gói, kế thừa và đa hình. Cái nào trong số này bị thiếu trong Python?2 gold badges46 silver badges50 bronze badges

3

Định hướng đối tượng là một sự liên tục. Chúng ta có thể nói rằng Smalltalk là người thuần khiết nhất, và tất cả những người khác chiếm những địa điểm khác nhau trên quy mô.

Không ai có thể nói giá trị của là 100% thuần khiết là gì. Có thể viết mã hướng đối tượng rất tốt bằng các ngôn ngữ không phải là smalltalk, bao gồm Python.Jul 24, 2010 at 14:05

Python rất hữu ích trong tất cả các lĩnh vực đó: khoa học [numpy], web [django] và máy tính để bàn.deinst

Đã trả lời ngày 24 tháng 7 năm 2010 lúc 13:523 gold badges45 silver badges45 bronze badges

Duffymoduffymo

302K44 Huy hiệu vàng367 Huy hiệu bạc554 Huy hiệu đồng

Tôi tin rằng Python là một ngôn ngữ thực tế, rất thực tế.3 gold badges24 silver badges32 bronze badges

Các khái niệm cung cấp giá trị cho nhà phát triển được đưa vào, mà không xem xét quá nhiều về các khái niệm thần học như "thiết kế oo thích hợp" và công cụ. Đó là ngôn ngữ cho những người có việc phải làm.Dec 23, 2010 at 19:00

Tại sao Python không phải là 100% rất tiếc?

Tuy nhiên, Python không phải là ngôn ngữ OOP xuyên suốt vì nó không cho phép đóng gói mạnh mẽ.Điều này là do người tạo ra Guido Van Rossum nhằm mục đích giữ cho mọi thứ đơn giản và điều đó có nghĩa là không ẩn dữ liệu theo nghĩa nghiêm ngặt nhất của thuật ngữ này.it does not allow strong encapsulation. This is because its creator Guido van Rossum aimed to keep things simple and that meant not hiding data in the strictest sense of the term.

Tại sao Python không phải là OOP tinh khiết?

Python hỗ trợ tất cả các khái niệm về "lập trình hướng đối tượng" nhưng nó không được định hướng đối tượng hoàn toàn bởi vì - mã trong Python cũng có thể được viết mà không cần tạo các lớp.The code in Python can also be written without creating classes.

Ngôn ngữ định hướng đối tượng thuần túy nào?

int, long, bool, float, char, v.v. như các đối tượng: SmallTalk là một ngôn ngữ lập trình hướng đối tượng thuần túy của Hồi giáo không giống như Java và C ++ vì không có sự khác biệt giữa các giá trị là đối tượng và giá trị là loại nguyên thủy.Trong smalltalk, các giá trị nguyên thủy như số nguyên, booleans và ký tự cũng là đối tượng.Smalltalk is a “pure” object-oriented programming language unlike Java and C++ as there is no difference between values which are objects and values which are primitive types. In Smalltalk, primitive values such as integers, booleans and characters are also objects.

Bài Viết Liên Quan

Chủ Đề