Sự khác biệt giữa kiểu đúc và chuyển đổi kiểu

Tác Giả: Laura McKinney
Ngày Sáng TạO: 1 Tháng Tư 2021
CậP NhậT Ngày Tháng: 4 Có Thể 2024
Anonim
Sự khác biệt giữa kiểu đúc và chuyển đổi kiểu - Công Nghệ
Sự khác biệt giữa kiểu đúc và chuyển đổi kiểu - Công Nghệ

NộI Dung


Sự khác biệt cơ bản giữa chuyển đổi loại và chuyển đổi kiểu, tức là chuyển đổi loại được thực hiện tự động bởi bộ biên dịch trong khi đó, việc truyền kiểu sẽ được lập trình viên thực hiện rõ ràng bởi nhà lập trình.

Hai thuật ngữ chuyển đổi kiểu kiểu kiểu Cameron và chuyển đổi kiểu loại hình xảy ra khi có nhu cầu chuyển đổi một loại dữ liệu này sang loại khác. Khi hai loại tương thích với nhau, thì việc chuyển đổi loại này sang loại khác được trình biên dịch thực hiện tự động. Hãy để thảo luận về sự khác biệt cả đúc và chuyển đổi loại với sự trợ giúp của biểu đồ so sánh.

  1. Biểu đồ so sánh
  2. Định nghĩa
  3. Sự khác biệt chính
  4. Phần kết luận

Biểu đồ so sánh:

Cơ sở để so sánhĐúc kiểuChuyển đổi loại
Ý nghĩaMột loại dữ liệu được người dùng gán cho một loại dữ liệu khác, bằng cách sử dụng toán tử truyền thì nó được gọi là "Kiểu đúc".Chuyển đổi một loại dữ liệu sang loại khác tự động bởi trình biên dịch được gọi là "Chuyển đổi loại".
Áp dụngKiểu truyền cũng có thể được áp dụng cho hai loại dữ liệu không tương thích.Chuyển đổi loại chỉ có thể được thực hiện khi hai loại dữ liệu tương thích.
Nhà điều hànhĐể truyền kiểu dữ liệu sang loại dữ liệu khác, cần phải có toán tử truyền ().Không cần người vận hành.
Kích thước của các loại dữ liệuLoại đích có thể nhỏ hơn loại nguồn.Ở đây loại đích phải lớn hơn loại nguồn.
Đã thực hiệnNó được thực hiện trong quá trình thiết kế chương trình.Nó được thực hiện rõ ràng trong khi biên dịch.
Loại chuyển đổi

Thu hẹp chuyển đổi.Mở rộng chuyển đổi.
Thí dụint a;
byte b;
...
...
b = (byte) a;
int a = 3;
phao b;
b = a; // giá trị trong b = 3.000.


Định nghĩa về kiểu đúc

Kiểu đúc có thể được định nghĩa là, truyền một loại dữ liệu sang loại dữ liệu khác, bởi người lập trình, tại thời điểm thiết kế chương trình. Không thể chuyển đổi tự động một loại dữ liệu sang loại dữ liệu khác. Nó có thể là điều kiện mà ’loại đích đích nhỏ hơn loại’ nguồn. Do đó, lập trình viên phải truyền kiểu dữ liệu lớn hơn một cách rõ ràng thành kiểu dữ liệu nhỏ hơn bằng cách sử dụng toán tử truyền (). Vì kiểu dữ liệu lớn hơn được điều biến thành kiểu dữ liệu nhỏ hơn, nên nó còn được gọi là ‘thu hẹp chuyển đổi.

Tờ khai:

biến đích_type = (target_type) biến / giá trị // loại mục tiêu là loại mà bạn muốn chuyển đổi loại nguồn, nó luôn luôn là loại đích.

Thí dụ

Hãy để hiểu nó với một ví dụ. Bạn muốn chuyển đổi kiểu dữ liệu int int int thành ‘byte. Bây giờ, vì ‘byte byte nhỏ hơn‘ int, nên không cho phép chuyển đổi loại. Ở đây, chúng tôi đã phải chuyển đổi ngầm định int int thành thành byte byte bằng cách sử dụng toán tử đúc ‘(). Vì ‘int, lớn hơn‘ byte, kích thước của int int int sẽ được giảm xuống phạm vi byte int int byte byte.


int a; byte b; ... ... b = (byte) a;

Khi ‘phao nổi được chuyển đổi thành‘ int, kích thước của phao sẽ bị cắt bớt, vì int int int không lưu trữ giá trị phân số. Nếu kích thước của loại đích quá nhỏ để loại nguồn phù hợp, thì loại nguồn là loại đích modulo ‘phạm vi. Đúc cũng có thể được áp dụng khi các loại dữ liệu tương thích. Đó là một thực hành tốt để sử dụng kiểu đúc bất cứ nơi nào cần chuyển đổi loại.

Định nghĩa chuyển đổi loại

Chuyển đổi loại là chuyển đổi tự động của một loại dữ liệu sang loại khác bất cứ khi nào cần, được trình biên dịch thực hiện rõ ràng. Nhưng có hai điều kiện để được thỏa mãn trước khi chuyển đổi loại.

  • Nguồn và loại đích phải tương thích.
  • Loại đích phải lớn hơn loại nguồn.

Hai điều kiện này phải đáp ứng để đạt được chuyển đổi loại và loại chuyển đổi này được gọi là ‘mở rộng chuyển đổi, vì một loại nhỏ hơn được chuyển đổi sang loại lớn hơn, việc mở rộng loại xảy ra. Đối với chuyển đổi mở rộng này, các loại số như ‘int,’ float, tương thích với nhau trong khi số sang char và boolean hoặc char thành boolean cũng không tương thích.

Thí dụ

Ví dụ này sẽ cung cấp một cái nhìn tốt hơn về điều này

int a = 3; phao b; b = a; // giá trị trong b = 3.000.

Ở đây, int int int được chuyển đổi thành ‘float, lớn hơn‘ int, do đó việc mở rộng loại nguồn xảy ra. Ở đây, không có toán tử đúc nào được yêu cầu vì trình biên dịch sẽ thực hiện nó một cách rõ ràng.

  1. Sự khác biệt cơ bản giúp phân biệt kiểu đúc với chuyển đổi kiểu là kiểu truyền là chuyển đổi loại này sang loại khác, được thực hiện bởi người lập trình. Mặt khác, chuyển đổi loại là chuyển đổi loại này sang loại khác, được thực hiện bởi trình biên dịch trong khi biên dịch.
  2. Kiểu truyền có thể được áp dụng cho các kiểu dữ liệu, có thể không tương thích với nhau. Ngược lại, chuyển đổi loại chỉ có thể được áp dụng cho các kiểu dữ liệu tương thích với nhau.
  3. Việc chuyển đổi loại này sang loại khác trong quá trình truyền kiểu yêu cầu toán tử đúc kiểu () trong khi chuyển đổi một loại dữ liệu sang loại khác trong chuyển đổi loại không yêu cầu bất kỳ toán tử nào.
  4. Trong khi chuyển đổi một loại dữ liệu sang loại khác trong kiểu truyền, loại đích có thể lớn hơn hoặc nhỏ hơn loại nguồn. Ngược lại, loại đích phải lớn hơn loại nguồn trong chuyển đổi loại.
  5. Việc chuyển đổi loại này sang loại khác được thực hiện trong khi mã hóa trong kiểu đúc. Ngược lại, trong chuyển đổi loại, việc chuyển đổi loại này sang loại khác được thực hiện rõ ràng trong quá trình biên dịch.
  6. Đúc kiểu được gọi là chuyển đổi thu hẹp vì ở đây loại đích có thể nhỏ hơn loại nguồn. Không giống như, chuyển đổi loại được gọi là chuyển đổi mở rộng vì ở đây, loại đích phải lớn hơn loại nguồn.

Phần kết luận:

Có thể kết luận rằng chuyển đổi kiểu và truyền kiểu, cả hai đều thực hiện nhiệm vụ chuyển đổi một kiểu dữ liệu này sang kiểu dữ liệu khác nhưng theo nghĩa là việc truyền kiểu được thực hiện bởi người lập trình, sử dụng toán tử cast () 'và chuyển đổi kiểu được thực hiện bởi trình biên dịch và nó không sử dụng bất kỳ toán tử nào.