Вам будет нужен Менеджер конфигурации SQL Server. Перейдите к Собственной Клиентской Конфигурации Sql, Избранным Клиентским Протоколам, Щелкните правой кнопкой по TCP/IP и установите свой порт по умолчанию там.
На самом деле это довольно просто с использованием Ruby:
module Slugish
attr_accessor :slug
def loud_slug
"#{slug}!"
end
end
class Stringy < String
include Slugish
end
class Hashy < Hash
include Slugish
end
hello = Stringy.new("Hello")
world = Stringy.new("World")
hello.slug = "So slow"
world.slug = "Worldly"
hello.loud_slug #=> "So slow!"
world.loud_slug #=> "Worldly!"
hello.is_a?(Slugish) #=> true
world.is_a?(Slugish) #=> true
"#{hello} #{world}" #=> "Hello World"
stuff = Hashy.new
stuff[:hello] = :world
stuff.slug = "My stuff"
stuff.loud_stug #=> "My stuff!"
stuff.is_a?(Slugish) #=> true
Эквивалент множественного наследования в Ruby - это примеси. Мне кажется, что вы хотите, чтобы Base был модулем, который смешивается с несколькими классами.
Почему вы настаиваете на использовании is_a? / Kind_of? когда response_to? это более чистый способ проверки? Вы хотите, чтобы объекты, реализующие интерфейс / контракт, не были подклассом любого произвольно выбранного суперкласса. Но, возможно, мне здесь не хватает какого-то требования.
Изменить : Я понимаю ваши рассуждения, но это часто приводит к плохому объектно-ориентированному / динамическому дизайну. Либо ты делаешь что-то подобное, что может быть приемлемой идеей в листовых классах, но в структуре должно быть решено с помощью наследования:
if a.is_a?(something)
#do something
elif a.is_a?(something_else)
#do something else
...
или что-то вроде этого:
if !a.is_a?(something)
#raise condition/return null/etc.
endif
...
Я думаю, что если код сбой с не понимает исключение при передаче сообщений основанный на языке язык - прекрасное дизайнерское решение.
В качестве дополнительной проблемы использование is_a? вместо response_to? ограничивает вашу способность использовать макеты объектов при модульном тестировании. Что может быть довольно большой проблемой даже для умеренно сложного кода.
использование is_a? вместо response_to? ограничивает вашу способность использовать макеты объектов при модульном тестировании. Что может быть довольно большой проблемой даже для умеренно сложного кода. использование is_a? вместо response_to? ограничивает вашу способность использовать макеты объектов при модульном тестировании. Что может быть довольно большой проблемой даже для умеренно сложного кода.Я думаю, вы неправильно используете наследование, если у вас есть совершенно несвязанные классы, такие как «Number» и «Color», все производные от одного и того же базового класса. Я бы использовал композицию вместо этого, если им действительно нужен доступ к одним и тем же подпрограммам (хотя не знаю, зачем им это нужно).