Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Texture {
- image: String,
- }
- impl Texture {
- fn new(texture: String) -> Texture {
- Texture {
- image: texture,
- }
- }
- fn image(&self) -> &String {
- &self.image
- }
- }
- trait Character {
- fn name(&self) -> &String;
- fn texture(&self) -> &Texture;
- }
- struct Player {
- name: String,
- texture: Texture,
- }
- impl Player {
- fn new() -> Player {
- Player {
- name: String::from("Goku"),
- texture: Texture::new(String::from("image.png")),
- }
- }
- }
- impl Character for Player {
- fn name(&self) -> &String {
- &self.name
- }
- fn texture(&self) -> &Texture {
- &self.texture
- }
- }
- fn main() {
- let player: Player = Player::new();
- println!("Player name: {}", player.name());
- println!("Player image: {}", player.texture().image())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement