Tôi đã đọc một số thuộc tính và tôi không chắc chắn nếu đó là những gì tôi muốn hay không. Về cơ bản tôi có một lớp đạn trừu tượng để tất cả các "viên đạn" có một thực hiện chung Đó là bất kỳ "vũ khí" mà chúng được gắn vào có thể mong đợi để có thể sử dụng.Biến/thuộc tính trừu tượng? C#
Tôi biết bạn có thể khai báo một lớp trừu tượng và buộc các hàm bạn khai báo bên trong nó được xác định. Tôi muốn điều tương tự với các biến (tôi nghĩ, rõ ràng chức năng này dường như không tồn tại nên có lẽ tôi đang nghĩ về giải pháp sai)
Vấn đề của tôi là vì tất cả "đạn" nên có thiệt hại tôi muốn bị buộc phải khai báo trong mã giá trị thiệt hại của một viên đạn.
Có thể có trường hợp vòng đấu từ súng stun và nó không gây sát thương nhưng tôi cảm thấy rằng tôi vẫn cần phải khai báo nó vì 2 lý do.
Khai báo rõ ràng trong mã này không gây thiệt hại nào đáng giá một dòng mã. Bạn không cần phải đi tốt Tôi đoán nó không có gì vì nó không nói gì về thiệt hại nó được tuyên bố rõ ràng.
Gỡ lỗi (đây là lý do chính khác là trẻ vị thành niên) Tôi muốn bị ép buộc, vì vậy tôi không quên. Tôi không muốn nhập nhầm tên biến hoặc quên gán giá trị hoàn toàn và tìm kiếm một nửa giờ cố gắng tìm ra lý do tại sao tên lửa hoặc tên lửa hoặc viên đạn của tôi hoặc bất kỳ thứ gì không thực hiện bất kỳ thiệt hại nào hoặc đang thực hiện chính xác 1 hoặc số tiền của đạn cuối cùng tôi đã sử dụng hoặc bất cứ giá trị mặc định nào của biến float mà tôi khai báo trong lớp trừu tượng kết thúc bằng. Tôi muốn bị ném một lỗi ngay lập tức nói với tôi rằng tôi không thể tiếp tục cho đến khi viên đạn mới của tôi bị hư hại.
Điều này cũng có thể được thực hiện với một lớp 'abstract' (mà _might_ phù hợp với nhu cầu của user53961), chỉ cần khai báo thuộc tính' Damage' là 'abstract'. EDIT: Chỉ cần được rõ ràng mặc dù, tôi ủng hộ cách tiếp cận giao diện trong trường hợp này. (bởi vì một game nhập vai có động lượng và vật lý được coi là "viên đạn"?) –