пятница, 30 сентября 2022 г.

Деревянные окна потеют? Почему и что с этим делать?

 Нередко в зимнее время деревянные окна потеют. Хозяева принимают различные меры: используют силикон с целью устранения щелей в проемах, монтажную пену. Иногда скопившаяся влага попадает на подоконник, а затем — пол. Весной разбухшие от влаги рамы невозможно открыть.


Основные причины запотевания окон

Некоторые хозяева интересуются, почему потеют деревянные окна изнутри, что делать в этом случае, какими подручными материалами воспользоваться. В холодное время в комнате ощущается сырость, на стенах появляется грибок или черная плесень. Спустя 1-3 года владелец вынужден полностью заменить все окна.


Желательно проводить работу в теплое время года. Почему деревянные окна потеют изнутри, что делать в сложившейся ситуации, знают немногие. Владельцы недвижимости понимают, что главная причина появления воды — большая сырость, возникающая в жилой комнате зимой.


Перепад температуры между помещением и внешней средой приводит к появлению жидкости на стеклах.


Почему потеют деревянные окна, понятно любому человеку, знакомому с законами физики. Большую роль играют 3 фактора: холод, низкая температура и высокая влажность. Школьный курс физики указывает на наличие водяного пара.


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

понедельник, 15 августа 2022 г.

Лакировка окон: какой лак лучше

 Деревянные окна выгодно отличаются по целому ряду параметров от окон, выполненных из пластика: они экологичны, не создают «парникового эффекта» в здании, но и не пропускают холод внутрь помещения. Наконец, они выигрывают у пластика во внешнем виде.


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


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


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


Виды лаков

По своему составу все лаки делятся на четыре категории: масляные, спиртовые, нитроцеллюлозные и акриловые водно-дисперсионные. Поскольку окна выполняют важную барьерную функцию, предотвращая попадание дождя и снега в дом, а также должны выдерживать постоянные перепады влажности, часто используются влагостойкие лаки на масляной основе. Рама с таким покрытием выглядит гладкой, глянцевой. К существенным минусам масляных лаков стоит отнести необходимость их долгой сушки. Так, необходимо по меньшей мере 1-2 суток, чтобы слой лака полностью высох. Для качественного покрытия изделия требуется нанести масляный лак 3-6 раз.


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


Самыми быстросохнущими и одними из самых недорогих являются нитроцеллюлозные лаки, или нитролаки. Для защиты оконных рам такие лаки используются редко, поскольку они обладают низкой устойчивостью к влаге.


На сегодняшний день чаще всего применяются акриловые лаки, созданные методом водной дисперсии красящих частиц. Они обладают очень высокой эластичностью – показателем, напрямую влияющим на то, как хорошо и долго будет держаться лаковое покрытие на лакируемой поверхности. При помощи акриловых лаков можно не только надежно защитить древесину от воздействия снега, дождя и ультрафиолета, но и скрыть дефекты (царапины) на деревянной поверхности до полмиллиметра шириной. К тому же, лаки на основе акриловой дисперсии быстро сохнут и являются экологически чистыми, поскольку при их высыхании не происходит испарения в воздух токсических веществ.


По этим причинам для изготовления на заказ деревянных окон высокого качества практически всегда используются именно акриловые лаки.

воскресенье, 15 мая 2022 г.

Окна из древесины – новое качество старого материала

 Ассортимент материалов, используемых при изготовлении окон, невелик. Общепринятые гигиенические стандарты позволяют использовать дерево, стекло, металл (чаще всего алюминий), и пластик ПВХ. С незапамятных времен в качестве материала для изготовления оконных рам, подоконников, использовалось дерево - окна из дуба, лиственницы и других материалов считаются самыми прочными. Но дерево, хотя и экологически чистый, но недолговечный материал. Практически каждый смог убедиться на своём горьком опыте в этом. Достаточно вспомнить рассыхающиеся и гниющие старые рамы, с перекосами и большущими щелями, иногда в палец шириной, через которые выходит наружу драгоценное тепло. А если прибавить к этому еще внешне непрезентабельный вид, с облупившейся краской и остатками оконной замазки? А ведь некоторые из вышеописанных «шедевров» сохранились и поныне в старых жилищах, главным образом у тех жильцов, чей социальный статус и уровень дохода ниже среднего.


Хотя, подавляющее большинство хозяев, уже давно сменило старые деревянные рамы на окна из ПВХ. Появившись на Западе около полувека назад, пластиковые окна в течение последних полутора-двух десятилетий завоевали отечественный потребительский рынок. Аккуратные, удобные в уходе, герметичные, долговечные, они еще и радуют глаз. Но вот что удивительно. В последнее время все большим потребительским спросом снова пользуются окна из дерева. И заказывают эти окна не люди с низким достатком, а довольно-таки успешные и состоятельные заказчики. Ведь стоимость таких окон превышает стоимость изделий из ПВХ.


Дело в том, что современные деревянные окна изготовляются из древесины высокого качества, по специальной технологии, на современном высокоточном оборудовании. Изготовлением занимаются фирмы и малые предприятия, специализирующиеся на производстве окон из дерева. Количество этих фирм на российском рынке заметно увеличилось, ведь спрос на деревянные окна растет. Работают на этих фирмах специалисты высокой квалификации. Эти специалисты не только изготавливают окна на новейшем оборудовании, но и осуществляют все этапы установки – начиная с первоначальных замеров, и заканчивая установкой готового изделия. В последующем, по договоренности с заказчиком, фирма-изготовитель не только займётся тем, что установит окна из дерева, но и дальше будет осуществлять уход за ними, а при необходимости сделает ремонт различной степени сложности.

понедельник, 31 января 2022 г.

Новые окна в старых домах

 Дореволюционные постройки – как правило, деревянные дома с деревянными перекрытиями и стенами под штукатуркой. Одна из их особенностей – отличие (и иногда – значительное) размеров оконных блоков от размеров проемов. При установке окон во время строительства к проему монтировалась рама из толстого бруса, в которую уже устанавливали оконный блок. Поверх бруса организовывали внушительной толщины штукатурные откосы.


За долгие годы старая древесина под потрескавшимся слоем штукатурки постепенно изгнивает, а местами превращается в труху. При демонтаже окон штукатурные откосы приходится разбивать, а деревянный короб разбирать. В результате образуется проем, в котором не к чему крепить оконный блок.


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


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


Демонтаж подоконников также преподносит «сюрпризы»: иногда под деревянной доской подоконника оказывается десяток сантиметров пакли или другого заполнителя. Часто это было связано с тем, что во время реставрации в старых домах поднимали пол, а значит, и окна. Высоту оконных блоков приходилось уменьшать, а подоконники поднимать всеми доступными на то время способами.


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


Не менее впечатляющие каверны оставляет после себя демонтированный каменный или бетонный подоконник. Как правило, он только сверху имеет ровную поверхность, а снизу это необработанный массив камня или глыба бетона. Кроме того, в старых домах с широкими стенами подоконники имеют ширину порядка 50-60см, соответственно их масса достигает удивляющих значений. Такие подоконники, (если их не предполагается сохранить как историческую ценность) приходится раскалывать на части и сдергивать на тросах.


Общая проблема старых домов в том, что после снятия старых окон проем оказывается непригодным к установке новых: крепить рамы к облицовке нельзя, поэтому приходится разбивать штукатурку до стен. Результаты бывают ошеломляющими: оригинальный оконный проем может не соответствовать выполненным замерам с разницей более 20 см! И если монтажный шов шириной до 10 см можно заполнить монтажной пеной (это не слишком удачный, но допустимый вариант), то при больших зазорах проем необходимо подгонять под размеры окон. Сделать это можно, например, с помощью дополнительной кирпичной кладки.


Несоответствие размеров окон и проемов в «сталинских» и более ранних домах – явление обычное. И если первые оконные блоки для них собирали в мастерских по размерам, то позже, с развитием индустриального домостроения, окна стандартизировали с шагом в 10 см. Причем, если проём в «доиндустриальном» доме был меньше стандартного окна хотя бы на 0,5 см, задача переостекления решалась не расширением проема, а установкой стандартного окна меньшего размера. Образующиеся щели забивали подручными средствами – от доборного бруса до пакли, а затем закрывали штукатуркой.


Кирпичные дома, строящиеся уже по определенным стандартам, по части замены окон – гораздо приятнее, хотя это тоже не самый простой фронт работы. Здесь нюансов меньше, и все же: вместо завершающего слоя кирпича в нижней части проема вполне может быть положен слой раствора такой же толщины. При демонтаже окон раствор частично или полностью выпадает, а значит, снова приходится использовать кирпичи и раствор. Кроме того, в таких кирпичных домах в процессе извлечения из проемов старых окон зачастую начинают разрушаться наружные откосы (четверти). По прошествии десятилетий со времени их отделки, материал теряет прочность, и лучше сделать новые откосы, чем реставрировать старые.


Иногда окно стоит на доборном брусе, а отлив монтируется к нижней раме оконного блока под большим углом. Замерщик снимает наружный размер по отливу, а при демонтаже окна вместе с отливом и доборным брусом монтажники получают больший размер проема по высоте. В такой ситуации хозяин должен указать замерщику, надо ли ему мерить окна с учетом потенциального увеличения проема или проем будет поднят к высоте прежнего окна.


Наиболее предсказуемая ситуация – с типовыми панельными домами. Там величина четверти является стандартной, заведомо известной величиной. Выполнены четверти из того же материала, что и стеновая панель. Здесь – наименьшее количество «сюрпризов» при монтаже окон.


* * *


Возвращаясь к особенностям монтажа окон в старых домах, мы еще раз повторим: произвести точные замеры проемов в старых домах и предугадать все вышеописанные нюансы практически невозможно. Проемы везде разные, и судить обо всех проемах по одному открытому в результате предварительного демонтажа, сложно. Хотя, после такого демонтажа, картина в общем становится ясна, и точность замера, конечно, возрастает. Для еще большей точности надо понимать, что каждый проем может иметь свои особенности, открывающиеся взгляду только непосредственно во время извлечения окна.


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


Хозяевам квартир в старых зданиях необходимо учитывать, что при замене окон проёмы либо придется дорабатывать, либо – для выполнения точных замеров – нужно демонтировать все окна. Второй вариант наиболее удобен для производителей и монтажников, а для заказчиков приемлем только в необжитых помещениях в отсутствие морозов, когда достаточно закрыть проемы эрзац-окнами из нескольких слоев полиэтилена, натянутого на каркас из бруса. Отделка в таких помещениях может продолжаться без перерыва.


С другой стороны, все вышеописанные сложности рождены задачей сделать окна максимально большими, исходя из размеров проема. Соответственно, чем ниже важность этой задачи, тем меньше сложностей на пути. При любом варианте заказанные окна будут НЕ меньше старых.


И опять-таки, учитывая, что окна квартиры не могут существенно отличаться от соседских, мы в данном случае говорим о вариациях в 5-15см.


Отдельно стоит упомянуть вопрос замены окон в старых зданиях, являющихся памятниками архитектуры. Помимо всё той же проблемы с размерами проёмов, для которых окна изготовлялись индивидуально, существует еще один нюанс - сохранение общего внешнего облика здания. Это одна из важнейших задач, стоящих перед производителем. То есть, помимо выполнения основных своих функций – сохранения тепла, обеспечения звукоизоляции, удобства вентиляции и других, новые окна должны как можно меньше отличаться от старых.


Дома разных архитектурных стилей, как правило, имеют окна необычной формы – арочные окна, круглые, эллипсовидные, в виде сильно вытянутых прямоугольников. Часто они разделены переплетами на множество секций. В этом случае используют фальш-переплеты, позволяющие имитировать конструкцию старинного окна. Важным моментом является сохранение общей цветовой гаммы зданий. Как правило, переплеты изготовлены из дерева, и цвет варьируется от светло-коричневого до темного, почти черного. Деревянные евроокна, выполненные «под старину» и окрашенные защитными и декоративными составами, прекрасно смотрятся на фасадах зданий и при этом отлично выполняют тепло- и шумоизоляционные функции.


Подводя итог всему вышеизложенному:


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

четверг, 1 октября 2020 г.

Деревянные входные двери в квартиру

 Входные деревянные двери

На протяжении веков деревянные двери были неотъемлемой частью благородных домашних интерьеров. И несмотря на длительные попытки заменить их неэстетичными металлическими или громоздкими и дорогостоящими бронированными конструкциями, деревянные входные двери сохранили свой статус универсального, долговечного и надежного решения для любых интерьеров.


Сегодня массивные входные двери из дерева вновь начинают восстанавливать свою популярность.

Все чаще их можно встретить на входе в частные и загородные дома, элитные коттеджи, дачи, городские квартиры и даже общественные и коммерческие заведения.

воскресенье, 25 декабря 2016 г.

Объектно-ориентированное программирование в языке PHP

Данная статья рассчитана на начинающих разработчиков в области ООП. Я работаю с пятой версией РНР, поэтому и статья рассчитана на эту версию.

Первое, что необходимо понимать - класс это не набор функций или удобный контейнер для переменных, а абстрактный тип данных (АТД). Язык РНР не является строго типизированным языком, поэтому для начала необходимо разобраться с "простыми" типами. Целые числа (1, 45, 100, 378 и т.д.) имеют целочисленный тип, integer. Массивы – тоже тип данных. Класс также является типом данных, а объект - своеобразная переменная этого типа.

При создании класса чётко понять задачу, которую мы хотим представить. Часто построение класса является моделированием той сущности, которую необходимо перенести в код. Объект является отражением сущности, которая описана в виде класса. При моделировании класса стоит выявить те необходимые части сущности, над которыми будут производиться необходимые действия, с помощью методов. То есть необходимые части сущности являются полями класса, они как раз отражают данные, которые составляют общий тип данных. Этим тип объекта напоминает данные типа массив.

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

Например, класс пачки сигарет состоит из упаковки и массива самих сигарет, следует создавать методы, которые работают только с упаковкой и сигаретами. Нет необходимости использовать методы, с помощью которых мы открываем бутылку газировки или даже прикуриваем сигарету. Каждый класс должен реализовывать только те действия, которые работают с данными самого класса. Не надо пытаться засунуть в один класс всю реализацию целого приложения. Например, есть сайт, который состоит из главной страницы, гостевой книги, страницы новостей, раздела статей и ссылок на дружественные сайты. Опишите каждый раздел сайта своим классом или классами.

Классы, отражающие разделы сайта, могут вступать в наследование друг с другом. Т.е. мы представляем раздел как сущность, отдельный тип данных. Снова повторю, что в классе, моделирующем раздел новостей, не надо определять элементы других разделов, если нет необходимости. Если требуется что-то представить из других разделов, используйте включение. Например, пусть на странице новостей требуется вывести заголовки последних статей. Определите в классе новостей поле типа класса статей и используйте методы этого типа. Не надо пытаться писать методы, выводящие заголовки статей в классе, моделирующем новости. Определите необходимый метод в соответствующем классе, классе, представляющем статьи.

видеокурс по объектно-ориентированному программированию смотрим здесь

Объектно-ориентированное программирование в Java

Объектно ориентированное программирование java. Классы и объекты

Java — полностью объектно-ориентированный язык, поэтому, как мы уже отмечали, все действия, выполняемые программой, находятся в методах тех или иных классов.
Описание класса начинается с ключевого слова class, после которого указывается идентификатор — имя класса. Затем в фигурных скобках перечисляются атрибуты и методы класса. Атрибуты в языке Java называются полями (в дальнейшем мы будем использовать это наименование). Поля и методы называются членами класса.
Поля описываются как обычные переменные.
Правила записи методов рассматривались на предыдущем занятии.
Опишем для примера класс Dog (собака). У него будет два поля: кличка и возраст. При описании поведения собаки в этом простом примере ограничимся лаем. Конечно, лаять по-настоящему наша собака не будет (ведь это всего лишь программная конструкция), она будет выводить в консоль «гав-гав». Чтобы было интереснее, предположим, что все собаки, с которыми имеет дело наша программа, умны настолько, что когда их вынуждают лаять, они говорят «гав-гав» столько раз, сколько им лет.
Заметим, что в программе уже есть один класс (тот, в котором описан метод main()). Поскольку этот класс к собакам отношения не имеет, описывать новый класс Dog следует за его пределами.
class Dog {int age; // возрастString name; // кличкаpublic void voice() {for (int i = 1; i <= age; i++) {System.out.println("гав-гав");}}}
Самое главное — понять, что означает, когда некоторые переменные (поля) и функции (методы) собраны (описаны) в каком-то классе.
Класс должен описывать некоторое законченное понятие. Это может быть понятие из предметной области программы (собака, велосипед, аквариум, сессия) или понятие, необходимое для работы самой программы (очередь, список, строка, окно, кнопка, программа*).
Полями класса должны быть данные, относящиеся к этому понятию. Для собаки это возраст, кличка, порода и т.д., а для сессии — дата начала, продолжительность и т.д.
Методы класса, как правило, работают с данными этого класса. Например, метод voice() в нашем примере обращается к полю age (возраст).
Когда какой-то класс описан, могут создаваться объекты этого класса и с ними можно работать, вызывая их методы (кормить собаку, выгуливать, просить ее лаять — словом делать все то, что позволяет поведение класса, т.е. совокупность его методов).
Для обращения к объектам удобно использовать переменные, имеющие тип класса. Например, для работы с собаками опишем переменную типа Dog:
Dog x;
Переменная типа класса является ссылочной переменной, она не хранит данные (как переменные простых типов intchar и т.д.), а указывает на место в памяти, где эти данные хранятся (как переменные типа массива). Данными, на которые указывает только что описанная переменная x, может быть объект класса Dog. Его необходимо предварительно создать командой new:
x = new Dog();
Теперь переменная x указывает на некий объект класса Dog, хранящий в памяти свои данные (возраст и кличку). Кроме того, эту собаку можно заставить лаять, вызвав соответствующий метод командой:
x.voice();
Для того, чтобы обратиться к члену класса, необходимо указать его имя после имени объекта через точку.
Обратите внимание, «залаяла» именно та собака, на которую «указывала» переменная x. Если в программе были созданы другие собаки, они будут молчать до тех пор, пока не будет вызван их метод voice().
Таким образом, когда данные (поля) и команды (методы) описываются в одном классе, они оказываются тесно связаны друг с другом в объектах этого класса. Метод вызывается не сам по себе, а для конкретного объекта и работает с полями именно этого объекта.
Поэтому команды
voice();age += 1;
не имеют никакого смысла, если употребляются вне методов класса Dog. Обязательно указание на конкретный объект, с которым производится действие. Внутри метода указание на конкретный объект вовсе не обязательно: в рассмотренном примере запись
for (int i = 1; i <= age; i++)
о ключевом слове this
означает, что для определения «продолжительности» лая будет проверяться возраст того самого объекта, для которого будет вызван данный метод. Этот объект обозначается ключевым словом this.

Конструкторы классов

Конструктор — это особенный метод класса, который вызывается автоматически в момент создания объектов этого класса. Имя конструктора совпадает с именем класса.
Например, в классе Dog может быть конструктор с двумя параметрами, который при создании новой собаки позволяет сразу задать ее кличку и возраст.
public Dog(String n, int a) {name = n;age = a;}
Конструктор вызывается после ключевого слова new в момент создания объекта. Теперь, когда у нас есть такой конструктор, мы можем им воспользоваться:
Dog dog1 = new Dog("Тузик", 2);
В результате переменная dog1 будет указывать на «собаку» по кличке Тузик, имеющую возраст 2 года. Кстати, этот возраст можно узнать, заставив собаку лаять командой
dog1.voice();*
Конструкторы добавляются в класс, если в момент создания объекта нужно выполнить какие-то действия (начальную настройку) с его данными (полями). Сразу задать кличку и возраст собаки более естественно, чем каждый раз порождать безымянного щенка, а затем давать ему имя и быстро выращивать до нужного возраста (с учетом того, что программа скорее всего обрабатывает данные о собаках, которые на самом деле уже давно родились). Хотя до появления ООП программисты часто делали именно так.

Наследование

Наследование — это отношение между классами, при котором один класс расширяет функциональность другого. Это значит, что он автоматически перенимает все его поля и методы, а также добавляет некоторые свои.
Наследование обычно возникает, когда все объекты одного класса одновременно являются объектами другого класса (отношение общее/частное). Например, все объекты класса Студент являются объектами класса Человек. В этом случае говорят, что класс Студент наследует от класса Человек. Аналогично класс Собакаможет наследовать от класса Животное, а класс Далматинец от класса Собака. Класс, который наследует, называется подклассом или потомком, а класс, от которого наследуют, называется суперклассом или предком.
Заметим, что если класс №2 является потомком класса №1, а класс №3 является потомком класса №2, то класс №3 является также потомком класса №1.
Наследование избавляет программиста от лишней работы. Например, если в программе необходимо ввести новый класс Далматинец, его можно создать на основе уже существующего класса Собака, не программируя заново все поля и методы, а лишь добавив те, которых не хватало в суперклассе.
Для того, чтобы один класс был потомком другого, необходимо при его объявлении после имени класса указать ключевое слово extends и название суперкласса.
Например:
class Dalmatian extends Dog {// дополнительные поля и методы...}
о классе Object
Если ключевое слово extends не указано, считается, что класс унаследован от универсального класса Object.

Модификаторы видимости

Доступ к любому члену класса — полю или методу — может быть ограничен. Для этого перед его объявлением ставится ключевое слово private. Оно означает, что к этому члену класса нельзя будет обратиться из методов других классов.
Ключевое слово public может употребляться в тех же случаях, но имеет противоположный смысл. Оно означает, что данный член класса является доступным. Если это поле, его можно использовать в выражениях или изменять при помощи присваивания, а если метод, его можно вызывать.
Ключевое слово protected означает, что доступ к полю или методу имеет сам класс и все его потомки.
Если при объявлении члена класса не указан ни один из перечисленных модификаторов, используется модификатор по умолчанию (default). Он означает, что доступ к члену класса имеют все классы, объявленные в том же пакете.
Перепишем класс Dog следующим образом:
class Dog {private int age;// возрастprivate String name; // кличкаpublic Dog(String n, int a) {name = n; age = a;}public void voice() {for(int i = 1; i <= age; i++) {System.out.println("гав-гав");}}}
Поля age и name окажутся скрытыми. Это значит, что мы не можем изменять их (или считывать их значение) где-либо за пределами класса*. Мы не сможем в методе main() создать объект класса Dog, а затем присвоить его полю age или name новое значение, как в следующем примере:
public static void main(String[] args) {Dog dog1 = new Dog("Тузик", 4);dog1.age = 10; // нельзя, поле age скрытоdog1.name = "Жучка"// переименовать собаку тоже нельзя, поле name скрытоdog1.voice(); // это можно, метод voice() открытый}
Возможность скрывать поля и методы класса используется для того, чтобы уберечь программиста от возможных ошибок, сделать классы понятнее и проще в использовании. При этом реализуется принцип инкапсуляции.
об инкапсуляции
Инкапсуляция означает сокрытие деталей реализации класса. Класс разделяется на две части: внутреннюю и внешнюю. Внешняя часть (интерфейс) тщательно продумывается исходя из того, каким образом могут взаимодействовать с объектами данного класса другие объекты программы. Внутренняя часть закрыта от посторонних, она нужна только самому классу для обеспечения правильной работы открытых методов.

видеокурс по объектно-ориентированному программированию смотрим здесь