Интерфейсы в F # | Microsoft Learn

  • Статья
  • Чтение занимает 4 мин

Интерфейсы указывают наборы связанных элементов, которые реализуют другие классы.

Синтаксис

// Interface declaration:
[ attributes ]
type [accessibility-modifier] interface-name =
    [ interface ]     [ inherit base-interface-name ...]
    abstract member1 : [ argument-types1 -> ] return-type1
    abstract member2 : [ argument-types2 -> ] return-type2
    ...
[ end ]
// Implementing, inside a class type definition:
interface interface-name with
    member self-identifier.member1argument-list = method-body1
    member self-identifier.
member2argument-list = method-body2 // Implementing, by using an object expression: [ attributes ] let class-name (argument-list) = { new interface-name with member self-identifier.member1argument-list = method-body1 member self-identifier.member2argument-list = method-body2 [ base-interface-definitions ] } member-list

Объявления интерфейса похожи на объявления классов, за исключением того, что члены не реализованы. Вместо этого все члены являются абстрактными, как указано в ключевом слове abstract. Текст метода не предоставляется для абстрактных методов. F# не может определить реализацию метода по умолчанию в интерфейсе, но она совместима с реализациями по умолчанию, определенными в C#. Реализации по умолчанию, использующие ключевое слово ,

default поддерживаются только при наследовании от базового класса, отличного от интерфейса.

По умолчанию для интерфейсов используется специальные publicвозможности .

При необходимости можно присвоить каждому параметру метода имя с помощью обычного синтаксиса F#:

type ISprintable =
    abstract member Print : format:string -> unit

В приведенном выше ISprintable примере Print метод имеет один параметр типа string

с именем format.

Существует два способа реализации интерфейсов: с помощью выражений объектов и с помощью типов классов. В любом случае тип класса или выражение объекта предоставляет тела методов для абстрактных методов интерфейса. Реализации зависят от каждого типа, реализующего интерфейс . Поэтому методы интерфейса для разных типов могут отличаться друг от друга.

Ключевые слова interface и end, обозначающие начало и конец определения, являются необязательными при использовании упрощенного синтаксиса. Если эти ключевые слова не используются, компилятор пытается определить, является ли тип классом или интерфейсом, путем анализа используемых конструкций.

Если вы определяете член или используете другой синтаксис класса, тип интерпретируется как класс.

Стиль программирования .NET заключается в том, чтобы начать все интерфейсы с заглавной буквы I.

Можно указать несколько параметров двумя способами: F#style и . В стиле NET. Оба варианта компилируются одинаково для потребителей .NET, но F#-style принудит вызывающие объекты F# использовать приложение параметров F#style и . В стиле NET вызывающие объекты F# будут использовать приложение аргументов с кортежем.

type INumericFSharp = abstract Add: x: int -> y: int -> int type INumericDotNet = abstract Add: x: int * y: int -> int

Реализация интерфейсов с помощью типов классов

Вы можете реализовать один или несколько интерфейсов в типе класса, используя interface ключевое слово , имя интерфейса и ключевое with слово , а затем определения элементов интерфейса, как показано в следующем коде.

type IPrintable =
   abstract member Print : unit -> unit
type SomeClass1(x: int, y: float) =
   interface IPrintable with
      member this. Print() = printfn "%d %f" x y

Реализации интерфейса наследуются, поэтому любые производные классы не должны повторно выполнять их.

Методы вызывающего интерфейса

Методы интерфейса можно вызывать только через интерфейс, а не через какой-либо объект типа, реализующий интерфейс. Таким образом, для вызова этих методов может потребоваться выполнить преобразование к типу интерфейса с помощью :> оператора или upcast оператора .

Чтобы вызвать метод интерфейса при наличии объекта типа SomeClass, необходимо включить объект в тип интерфейса, как показано в следующем коде.

let x1 = new SomeClass1(1, 2.0)
(x1 :> IPrintable).Print()

Альтернативой является объявление метода в объекте , который выполняет восходящую трансляцию и вызывает метод интерфейса, как показано в следующем примере.

type SomeClass2(x: int, y: float) =
   member this.Print() = (this :> IPrintable).Print()
   interface IPrintable with
      member this. Print() = printfn "%d %f" x y
let x2 = new SomeClass2(1, 2.0)
x2.Print()

Реализация интерфейсов с помощью выражений объектов

Выражения объектов предоставляют короткий способ реализации интерфейса. Они полезны, если вам не нужно создавать именованный тип, а требуется просто объект, поддерживающий методы интерфейса, без каких-либо дополнительных методов. Выражение объекта показано в следующем коде.

let makePrintable(x: int, y: float) = { new IPrintable with member this.Print() = printfn "%d %f" x y } let x3 = makePrintable(1, 2.0) x3.Print()

Наследование интерфейса

Интерфейсы могут наследовать от одного или нескольких базовых интерфейсов.

type Interface1 =
    abstract member Method1 : int -> int
type Interface2 =
    abstract member Method2 : int -> int
type Interface3 =
    inherit Interface1
    inherit Interface2
    abstract member Method3 : int -> int
type MyClass() =
    interface Interface3 with
        member this.
Method1(n) = 2 * n member this.Method2(n) = n + 100 member this.Method3(n) = n / 10

Реализация интерфейсов с реализациями по умолчанию

C# поддерживает определение интерфейсов с реализациями по умолчанию, например:

using System;
namespace CSharp
{
    public interface MyDim
    {
        public int Z => 0;
    }
}

Они можно использовать напрямую из F#:

open CSharp
// You can implement the interface via a class
type MyType() =
    member _.M() = ()
    interface MyDim
let md = MyType() :> MyDim
printfn $"DIM from C#: %d{md.Z}"
// You can also implement it via an object expression
let md' = { new MyDim }
printfn $"DIM from C# but via Object Expression: %d{md'.Z}"

Вы можете переопределить реализацию по умолчанию с

overrideпомощью , например переопределения любого виртуального члена.

Все члены в интерфейсе, не имеющие реализации по умолчанию, по-прежнему должны быть реализованы явным образом.

Реализация одного интерфейса в разных универсальных экземплярах

F# поддерживает реализацию одного интерфейса в разных универсальных экземплярах, например:

type IA<'T> =
    abstract member Get : unit -> 'T
type MyClass() =
    interface IA<int> with
        member x. Get() = 1
    interface IA<string> with
        member x.Get() = "hello"
let mc = MyClass()
let iaInt = mc :> IA<int>
let iaString = mc :> IA<string>
iaInt.Get() // 1
iaString.Get() // "hello"

См. также

  • Справочник по языку F#
  • Выражения объекта
  • Классы

Создание интерфейсов

ELMA365 располагает low-code инструментами для настройки интерфейсов любой сложности без программирования. Вы можете создавать формы приложений и страницы с собственной конфигурацией, чтобы вашим сотрудникам было максимально удобно взаимодействовать с системой.

Так, отделу продаж нужно иметь под рукой статистику по сделкам, план на месяц, количество неоплаченных счетов. В то же время, отделу кадров важна возможность быстро просмотреть исполнительскую дисциплину, перейти в базу соискателей и добавить собеседование в календарь. Чтобы сотрудникам не приходилось искать все эти данные по разным разделам, вы можете скомбинировать нужные функции на их рабочих страницах.

начало внимание

Создавать и настраивать интерфейсы могут только пользователи, входящие в группу Администраторы.

конец внимание

В разделе Администрирование > Интерфейсы вы можете увидеть все элементы интерфейса, созданные на уровнях компании, раздела, приложения или страницы. Это могут быть как системные, так и пользовательские формы приложений и виджеты, включая виджеты типа Страница.

Вы можете:

  1. Перейти к настройке элемента в дизайнере интерфейсов, нажав на его название.
  2. Выбрать действие, нажав на три точки справа от названия формы приложения или виджета:
  • переименовать элемент;
  • создать копию — используйте это действие, чтобы создать элемент, схожий с уже существующим;
  • переместить — позволяет перенести виджет типа Страница в другой раздел или в интерфейсы компании. Например, в меню раздела есть страница с добавленным на неё виджетом типа Страница, который создан в другом разделе. Чтобы экспорт раздела стал доступен, переместите виджет.
  • удалить элемент;
  • восстановить — опция позволяет восстановить удалённый виджет. Чтобы отобразить такие виджеты в списке элементов, вверху страницы нажмите Показать удалённые.
  1. Перейти к созданию виджета.

О том, как создать форму приложения, читайте в разделе «Создание форм».

Создать виджет

Интерфейсы создаются с помощью виджетов. Добавляя эти элементы на страницу или на форму, вы настраиваете её внешний вид и функциональные возможности.

Вы можете использовать системные виджеты. Также в разделе Администрирование > Интерфейсы можно создать собственный виджет и многократно использовать его для настройки форм, страниц и других виджетов.

Чтобы создать виджет:

  1. Перейдите в Администрирование > Интерфейсы.
  2. В правом верхнем углу нажмите кнопку +Создать и выберите опцию:
  • Виджет — чтобы создать виджет, который можно добавить на форму приложения, страницу или другой виджет в дизайнере интерфейсов;
  • Страница — чтобы создать виджет типа Страница, который используется для настройки страниц меню. Подробнее об этом читайте в статье «Добавить виджет на страницу».
  1. Создавая виджет типа Страница, выберите, где хотите его разместить:
  • в конкретном разделе системы — используя виджет для создания страниц в меню этого раздела, вы сможете в дальнейшем экспортировать раздел;
  • в интерфейсах компании — это вариант удобен, чтобы использовать виджет для создания страниц в разных разделах, которые не нужно экспортировать.

начало внимание

Если виджет типа Страница, созданный в одном разделе, использовать в другом разделе, экспорт другого раздела будет невозможен.

конец внимание

  1. Сохраните настройки виджета. После этого откроется дизайнер интерфейсов.
  2. Настроив виджет в дизайнере интерфейсов, опубликуйте его. Названия неопубликованных интерфейсов выделены в разделе Администрирование > Интерфейсы курсивом.

Интерфейсы на уровне раздела и приложения

Вы можете перейти к работе с интерфейсами, выбрав пункт Интерфейсы в настройках раздела или приложения.

Здесь доступны такие же действия, как на странице Администрирование > Интерфейсы.

Например, на уровне приложения вы увидите формы просмотра, создания и редактирования элементов приложения. Нажмите на название формы, чтобы перейти к её настройке в дизайнере интерфейсов.

На уровне раздела можно просмотреть и открыть в дизайнере интерфейсов как формы всех приложений этого раздела, так и виджеты типа Страница, добавленные на страницы раздела.

Чтобы создать виджет на уровне раздела или приложения, нажмите +Создать.

display-widgets-in-reusable-template.html interface_designer.html

Была ли статья полезной?

ДаНет

Выберите вариантРекомендации не помоглиТекст трудно понятьНет ответа на мой вопросСодержание статьи не соответствует заголовкуДругая причина

Документация JDK 20 — Главная

    org/» typeof=»BreadcrumbList»>
  1. Главная
  2. Ява
  3. Java SE
  4. 20

Обзор

  • Прочтите меня
  • Примечания к выпуску
  • Что нового
  • Руководство по миграции
  • Загрузить JDK
  • Руководство по установке
  • Формат строки версии

Инструменты

  • Технические характеристики инструментов JDK
  • Руководство пользователя JShell
  • Руководство по JavaDoc
  • Руководство пользователя средства упаковки

Язык и библиотеки

  • Обновления языка
  • Основные библиотеки
  • HTTP-клиент JDK
  • Учебники по Java
  • Модульный JDK
  • Руководство программиста API бортового регистратора
  • Руководство по интернационализации

Технические характеристики

  • Документация API
  • Язык и ВМ
  • Имена стандартных алгоритмов безопасности Java
  • банок
  • Собственный интерфейс Java (JNI)
  • Инструментальный интерфейс JVM (JVM TI)
  • Сериализация
  • Проводной протокол отладки Java (JDWP)
  • Спецификация комментариев к документации для стандартного доклета
  • Прочие характеристики

Безопасность

  • Руководство по безопасному кодированию
  • Руководство по безопасности

Виртуальная машина HotSpot

  • Руководство по виртуальной машине Java
  • Настройка сборки мусора

Управление и устранение неполадок

  • Руководство по устранению неполадок
  • Руководство по мониторингу и управлению
  • Руководство по JMX

Client Technologies

  • Руководство по специальным возможностям Java

Определение и значение интерфейса — Merriam-Webster

1 из 2

интерфейс ˈin-tər-ˌfās 

1

а

: место, где независимые и часто несвязанные системы встречаются и взаимодействуют или взаимодействуют друг с другом

человеко-машинный интерфейс

б

: средство, с помощью которого достигается взаимодействие или коммуникация на границе раздела

2

: поверхность, образующая общую границу двух тел, пространств или фаз

граница раздела нефть-вода

межфазный

ˌин-тəр-фā-шəл

прилагательное

интерфейс

2 из 2

переходный глагол

1

: для подключения через интерфейс

Интерфейс A Machine с компьютером

2

: , чтобы служить интерфейсом для

.

Примеры предложений

Существительное интерфейс между инженерией и наукой Программное обеспечение имеет пользовательский интерфейс , которым легко управлять. Мы установили интерфейс между компьютером и наборной машиной. Глагол интерфейс машина с компьютером точка, в которой две машины взаимодействуют

Последние примеры в Интернете

Еще больше сбивает с толку интерфейс , который не говорит вам, что это за предметы. — Мэтт Гарднер, Forbes , 23 февраля 2023 г. TikTok начинался как еще более компактная версия YouTube с короткими видеороликами и захватывающим интерфейсом на телефонах. — Рон Амадео, Ars Technica , 16 февраля 2023 г. Он содержит такие полезные функции, как интерактивный цифровой интерфейс 9.0190 в салоне вместе со специальными воздуховодами для охлаждения тормозов Brembo Performance. — Кристин Шоу, Popular Science , 13 февраля 2023 г. Совсем недавно, в 2017 году, французская команда из Университетской больницы Гренобля хирургическим путем имплантировала эпидуральный беспроводной интерфейс «мозг-машина» 28-летнему мужчине с тетраплегией. — ПРОВОДНАЯ , 20 января 2023 г. В остальном приборная панель имеет полностью цифровую интерфейс , производный от SF90. — Эрик Стаффорд, Автомобиль и водитель , 14 января 2023 г. Работая в сфере поиска данных более двух десятилетий, PeopleFinders предлагает простой в использовании интерфейс и доступ к более чем 43 миллиардам личных и общедоступных записей. — Dallas News , 22 ноября 2022 г. С интерфейсом , который кажется чем-то средним между Tumblr и Twitter, платформа хочет в первую очередь обслуживать пользователей и планирует сделать это, не имея алгоритма или какой-либо рекламы. — Эллиз Шафер, Variety , 4 ноября 2022 г. Система работает под управлением новейшего информационно-развлекательного интерфейса Cadillac , который основан на программном обеспечении Android Automotive от Google, и поддерживает беспроводное подключение для Apple CarPlay и Android Auto. — Дрю Дориан, 9 лет.0189 Автомобиль и водитель , 22 фев. 2023

Кроме того, Nikwax вносит свой вклад в обеспечение того, чтобы потребители могли продолжать взаимодействие с экспертами, поддерживая своих розничных продавцов. — Вне сети , 30 января 2019 г. Клиенты интерфейс с меньшим семидюймовым сенсорным экраном. — IEEE Spectrum , 8 февраля 2023 г. Эта система впечатляла своими амбициями и поставлялась с аксессуарами, включая контроллеры, световую пушку и кассетный накопитель, которые предназначались для беспроводного взаимодействия с консолью через инфракрасный порт. — Эндрю Каннингем, 9 лет.0189 Ars Technica , 9 декабря 2021 г. В этой истории процедура Экстремиса создает своего рода усиленную нейронную сеть, которая позволяет Тони взаимодействовать с своей броней и напрямую подключаться к управлению спутниками и удаленными компьютерами. — Э Пол Зер, Discover Magazine , 29 февраля 2012 г. Рассмотрим случай с работой офис-менеджера, для которой требуется человек, который не только может взаимодействует с клиентами по номеру , но также может помочь с разъяснительной работой. —Майкл Эшли, Forbes , 26 марта 2022 г. И тогда другой лагерь является дополнительным, но, возможно, противоположным, где он просто находит лучший способ взаимодействовать этих машин с людьми и расширять, расширять и увеличивать наши способности с помощью этих же машин вместо того, чтобы заменить нас. — Натаниэль Шарпинг, 9 лет.0189 Журнал Discover , 21 января 2016 г. В идеале эти устройства должны были бы взаимодействовать с нервной системой пациента, как обычный нейрон. — Алекс Орландо, Discover Magazine , 3 декабря 2019 г. Это программное обеспечение, в свою очередь, основано на ActivityPub, протоколе, с которым некоторые другие приложения также могут взаимодействовать с . — WIRED , 16 ноября 2022 г. Узнать больше

Эти примеры предложений автоматически выбираются из различных онлайн-источников новостей, чтобы отразить текущее использование слова «интерфейс». Мнения, выраженные в примерах, не отражают точку зрения Merriam-Webster или ее редакторов. Отправьте нам отзыв.

История слов

Первое известное употребление

Существительное

1882, в значении, определенном в смысле 2

Глагол

1962, в значении, определенном в переходном смысле 1

Путешественник во времени Первое известное использование интерфейса было в 1882 г.

Посмотреть другие слова того же года

Словарные статьи Около 9Интерфейс 0189

межэтнический

интерфейс

сопряжение

Посмотреть другие записи поблизости

Процитировать эту запись «Интерфейс.

» Словарь Merriam-Webster.com , Merriam-Webster, https://www.merriam-webster.com/dictionary/interface. По состоянию на 23 марта 2023 г.

Copy Citation

Kids Definition

Интерфейс

1 из 2 существительное

интерфейс ˈint-ər-ˌfās 

1

: поверхность, образующая общую границу двух тел, пространств или фаз

интерфейс между маслом и водой

2

а

: место, где независимые системы встречаются и взаимодействуют или взаимодействуют друг с другом

б

: способы, посредством которых осуществляется взаимодействие или коммуникация на интерфейсе

межфазный

ˌint-ər-ˈfā-shəl

прилагательное

интерфейс

2 из 2 глагол

1

: для подключения или подключения через интерфейс

2

: для использования в качестве интерфейса для

Medical Definition

интерфейс

существительное

интерфейс ˈint-ər-ˌfās 

: поверхность, образующая общую границу двух тел, пространств или фаз

интерфейсы между различными тканями, такими как кожа, жировая ткань и мышцы — H. П. Шван

интерфейс переходный глагол

сопряженный; интерфейс

межфазный

ˌint-ər-ˈfā-shəl

прилагательное

Еще от Merriam-Webster об интерфейсе

Тезаурус: Все синонимы и антонимы для интерфейса

Английский: Перевод 9Интерфейс 0189 для говорящих на испанском языке

Britannica English: Перевод интерфейса для говорящих на арабском языке

Britannica.