Рубрики
Fragments "Unity-C#" C# test "C#" Метод ООП "Интерфейс"

C# «Метод интерфейса присваивает значения свойствам без реализации в классе»

using UnityEngine;
namespace test2208041738
{
    public interface ITest
    {
        public byte Prop1
        {
            get;
            set;
        }
        public string Prop2
        {
            get;
            set;
        }
public void Method_props_assign() => this.Method(2, "hello");

public (byte, string) Method(byte Prop1, string Prop2) => (this.Prop1 = Prop1, this.Prop2 = Prop2);
}
    public class Test : ITest
    {
        private byte _prop1;
        private string _prop2;
        
        public byte Prop1
        {
            get => _prop1;
            set => _prop1 = value;
        }
        public string Prop2
        {
            get => _prop2;
            set => _prop2 = value;
        }
        static public void test()
        {
            ITest t = new Test();
            t.Method_props_assign();
            Debug.Log(t.Prop1 + "," + t.Prop2);
        }
    }
}
Рубрики
RegExp

RegExp «Объявление»

объявление экранированного символа (
let regexp=new RegExp('\\(','gs')
Рубрики
RegExp

RegExp «Строка»

  • $ используют, чтобы указать, что паттерн должен заканчиваться в конце текста
поиск комментария в строке в виде //текст
/\/\/.*?$/g
  • ^ используют, чтобы указать, что паттерн должен начинаться в начале текста
  • x|x|x… набор паттернов
поиск комментария в строке в виде //текст с окончанием $ или \r
/\/\/.*?$|\/\/.*?\r/g
Рубрики
RegExp

RegExp «Числа»

числа/*текст*/

/[0-9]+\/\*.*?\*\//gs
Рубрики
различие ООП "Абстрактный Класс" ООП "Интерфейс"

ООП «Интерфейс или Абстрактный Класc»

Ссылка

Абстрактный класс

это класс, у которого не реализован один или больше методов некоторые языки требуют такие методы помечать специальными ключевыми словами

Интерфейс

это абстрактный класс, у которого ни один метод не реализован, все они публичные и нет переменных класса.

Интерфейс нужен обычно когда описывается только интерфейс (тавтология). Например, один класс хочет дать другому возможность доступа к некоторым своим методам, но не хочет себя «раскрывать». Поэтому он просто реализует интерфейс.

Абстрактный класс нужен, когда нужно семейство классов, у которых есть много общего. Конечно, можно применить и интерфейс, но тогда нужно будет писать много идентичного кода в некоторых языках (С++) специального ключевого слова для обозначения интерфейсов нет.

Можно считать, что любой интерфейс — это уже абстрактный класс, но не наоборот.