공부/Unity

24.04.17

월러비 2024. 4. 17. 22:06

새로 생성한 스크립트

  • Test_Compare
  • Test_Iterator

기억 안나는 이론

  • 인덱서(15번 강의자료)

팩토리 패턴

  • 팩토리 패턴 : 자기를 생성해서 리턴하는 디자인패턴이다.
private class User
{
    public int Id;
    public string Name;
    public int Hp;

    public User(int id)
    {
        Id = id;
        Name = "";
        Hp = 0;
    }

    public User(int id, string name, int hp)
    {
        Id = id;
        Name = name;
        Hp = hp;
    }

    public override string ToString()
    {
        return $"Id : {Id}, Name : {Name}, Hp : {Hp}";
    }

    public static User New(int id)
    {
        return new User(id);
    }
}

User[] findUsers = new User[]
{
    User.New(3), User.New(1) //팩토리 패턴 : 자기를 생성해서 리턴하는 디자인패턴이다.
};

반복기

  • IEnumerator와 IEnumerable을 이용한 기법이다.
    • 즉, Iterator를 의미하는 용어다.

using System.Collections.Generic의 인터페이스

  • 제네릭의 인터페이스를 상쇽하여 사용할때 관련 코드를 살펴봐야한다.
    • 제네릭의 인터페이스가 Collections의 인터페이스를 상속하는 경우 이것도 같이 구현해야한다.
    public interface IEnumerable<out T> : IEnumerable
    {
        IEnumerator<T> GetEnumerator();
    }
    
    public interface IEnumerable
    {
        IEnumerator GetEnumerator();
    }
    
    • 위에처럼 코드가 있는경우 제네릭의 인터페이스를 상속하면 Collections의 요소도 같이 생성해야한다.
    public IEnumerator<string> GetEnumerator()
    {
        throw new System.NotImplementedException();
    }
    
    IEnumerator IEnumerable.GetEnumerator() //IEnumerable<T>가 IEnumerable을 상속하기 때문에 이것도 구현해야한다. / IEnumerable.처럼 명시적으로 구현해도 되지만 암시적으로 구현해도 된다.
    {
        throw new System.NotImplementedException();
    }
    

 

'공부 > Unity' 카테고리의 다른 글

24.04.19  (0) 2024.04.22
24.04.18  (1) 2024.04.18
24.04.16  (0) 2024.04.16
24.04.15  (0) 2024.04.15
24.04.12  (0) 2024.04.15