Структура и правила оформления таблицы
Для описания ряда объектов, обладающих одинаковыми наборами свойств, наиболее часто используются таблицы, состоящие из столбцов и строк.
Тебе хорошо известно табличное представление расписания уроков, в табличной форме представляются расписания движения автобусов, самолётов, поездов и многое другое.
Представленная в таблице информация наглядна, компактна и легко обозрима.
В таблице может содержаться информация о различных свойствах объектов, об объектах одного класса и разных классов, об отдельных объектах и группах объектов.
Правильно оформленная таблица имеет структуру:
Необходимо соблюдать следующие правила оформления таблиц.
- Заголовок таблицы должен давать представление о содержащейся в ней информации.
- Заголовки граф и строк должны быть краткими, не содержать лишних слов и, по возможности, сокращений.
- В таблице должны быть указаны единицы измерения. Если они общие для всей таблицы, то указываются в заголовке таблицы (либо в скобках, либо через запятую после названия). Если единицы измерения различаются, то они указываются в заголовках строк или граф.
- Желательно, чтобы все ячейки таблицы были заполнены. При необходимости в них заносят следующие условные обозначения:
- \(?\) - данные неизвестны;
- × - данные невозможны;
- ↓ - данные должны быть взяты из вышележащей ячейки.
Для того, чтобы на основании информации, представленной в текстовой форме, составить табличную модель, необходимо:
- Выделить в тексте имена объектов, имена свойств объектов и значения свойств объектов;
- Уточнить структуру таблицы;
- «Заселить» таблицу, перенеся в неё информацию из текста.
При выделении в тексте имен объектов, имен свойств и их значений удобно подчеркивать их разными линиями. Договоримся подчеркивать имена объектов прямой, имена свойств - двойной, а значения свойств - пунктирной линиями.
Условно все множество таблиц можно разделить на простые и сложные .
Простые таблицы
Таблица типа «объекты-свойства» (ОС)
Таблица типа «объекты-свойства» - это таблица, содержащая информацию о свойствах отдельных объектов, принадлежащих одному классу.
Общий вид таблиц типа ОС:
Количество строк в таблице зависит от количества имеющихся объектов, а количество столбцов количества рассматриваемых свойств.
В этой таблице приведена информация о некоторых древних русских городах, хранящих уникальные памятники нашей культуры и истории и образующих всемирно известное Золотое кольцо России. Эта информация отражена в заголовке таблицы.
В таблице представлены объекты: «Владимир», «Кострома», Переславль-Залесский» и «Гусь - Хрустальный», принадлежащие классу «город». Для каждого объекта приведены значения свойств «год основания», «основатель» и «достопримечательность», выраженные числами и словами.
В маленьких таблицах (из \(3 - 4\) строк) объекты можно перечислять в произвольном порядке. Если объектов в таблице много, то располагать их надо в некотором осмысленном порядке, согласно некоторому правилу. Например, в таблице \(2.2\) города могут быть перечислены в алфавитном порядке, по возрастанию или убыванию годов их основания.
Если в таблице типа ОС свойств больше, чем объектов, то её можно «повернуть набок»: строки превратить в графы, а графы - в строки.
Таблица типа «объекты - объекты - один» - это таблица, содержащая информацию о некотором одном свойстве пар объектов, чаще всего принадлежащих разным классам.
В этой таблице головка (верхний заголовок) имеет сложную (двухъярусную) структуру.
Таблица типа ООО может быть «повёрнута на бок» строки превращены в графы, а графы - в строки.
В таблице типа ООО фиксируется одно свойство пары объектов, поэтому в её ячейках всегда содержатся значения одного типа: или числа, или слова, или графические изображения.
Сложные таблицы
Таблица типа «объекты - объекты - несколько» (ООН)
Таблица типа «объекты - объекты - несколько» - это таблица, содержащая информацию о нескольких свойствах пар объектов, принадлежащих разным классам.
Общий вид таблиц типа ООН:
В этой таблице головка (верхний заголовок) имеет трехъярусную структуру.
| Планирование уроков и материалы к урокам | 8 классы | Планирование уроков на учебный год | Табличные модели
Урок 12
Табличные модели
Табличные модели
Изучаемые вопросы:
Таблицы типа «объект-свойство».
- Таблица типа «объект-объект».
- Двоичные матрицы.
Таблицы типа «объект-свойство»
Еще одной распространенной формой информационной модели является прямоугольная таблица , состоящая из строк и столбцов. Использование таблиц настолько привычно, что для их понимания обычно не требуется дополнительных объяснений.
В качестве примера рассмотрим таблицу 2.1.
При составлении таблицы в нее включается лишь та информация, которая интересует пользователя. Например, кроме тех сведений о книгах, которые включены в таблицу 2.1, существуют и другие: издательство, количество страниц, стоимость. Однако для составителя таблицы 2.1 было достаточно сведений об авторе, названии и годе издания книги (столбцы «Автор», «Название», «Год») и информации, позволяющей найти книгу на полках книжных стеллажей (столбец «Полка»). Предполагается, что все полки пронумерованы и, кроме того, каждой книге присвоен свой инвентарный номер (столбец «Номер»).
Таблица 2.1 - это информационная модель книжного фонда домашней библиотеки.
Таблица может отражать некоторый процесс, происходящий во времени (табл. 2.2).
Показания, которые занесены в таблицу 2.2, снимались в течение пяти дней в одно и то же время суток. Глядя на таблицу, легко сравнить разные дни по температуре, влажности и пр. Данную таблицу можно рассматривать как информационную модель процесса изменения состояния погоды.
Таблицы 2.1 и 2.2 относятся к наиболее часто используемому типу таблиц. Их называют таблицами типа «объект-свойство» .
В одной строке такой таблицы содержится информация об одном объекте (книга в библиотеке или состояние погоды в 12-00 в данный день). Столбцы - отдельные характеристики (свойства) объектов.
Конечно, строки и столбцы в таблицах 2.1 и 2.2 можно поменять местами, повернув их на 90°. Иногда так и делают. Тогда строки будут соответствовать свойствам, а столбцы - объектам. Но чаще всего таблицы строят так, чтобы строк в них было больше, чем столбцов. Как правило, объектов больше, чем свойств.
Мы поговорим о модификаторах: какие бывают модификаторы, области видимости, модификаторы для классов, полей, методов. Думаю, будет не скучно.
Модификаторы в Java – это ключевые слова, которые придают классу, полю класса или методу определенные свойства.
Для обозначения видимости класса его методов и полей есть 4 модификатора доступа:
- private члены класса доступны только внутри класса;
- package-private или default (по умолчанию) члены класса видны внутри пакета;
- protected члены класса доступны внутри пакета и в классах-наследниках;
- public члены класса доступны всем.
Если Вы помните , то в конце, когда мы уже импортировали класс Cat, у нас все равно была ошибка компиляции.
Все дело в том, что мы не прописали никаких модификаторов доступа к нашим полям и методам и они имеют свойство по умолчанию (члены класса видны внутри пакета). Чтобы исправить ошибку компиляции для нашего кода и наконец то запустить его, нужно сделать наш конструктор и методы public. Тогда их можно будет вызывать с других пакетов.
Вы можете начать задаваться вопросом: а для чего все это нужно? Почему не сделать видимость кода из любого пакета или класса, а нужно разграничить доступ? Эти вопросы сами пропадут, когда придет время писать сложные и громоздкие проекты. Сейчас, когда мы пишем приложения, у которых функционал ограничен одним или двумя классами, то смысла что либо ограничить вроде как не видно.
Представьте, что у Вас есть класс который отображает объект некоего продукта. Например машина. У машины может быть цена. Вы создали поле цена и еще множество других полей, кучу методов которые отвечают за функционал. Все вроде хорошо. Ваш класс машина является частью огромного проекта и все довольны. Но допустим, что кто-то по ошибке или специально создал экземпляр класса автомобиль и поставил отрицательную цену. Разве может товар иметь отрицательную цену? Это очень примитивный пример и вряд ли такое может случиться в реальной жизни, но думаю, идея понятна. Иногда нужно дать доступ не напрямую, а через определенные методы. Может быть, что код отвечает за функционал другого кода, и Вы не хотите, чтобы кто-то изменял и редактировал часть Вашего. Для этого всего и есть ограничение доступа.
Модификатор доступа у конструкторов, методов и полей может быть любой. Класс может быть только либо public, либо default, причем в одном файле может находиться только один public класс.
Пока об модификаторах доступа будет достаточно. В статье «Объектно ориентированное программирование» мы о них поговорим подробнее, а сейчас давайте поговорим о других модификаторах которых, к стати, немало.
Сейчас на очереди модификатор static . Его можно применять перед методом, полем и даже классом, когда хотим объявить вложенный класс. В Java можно писать классы внутри других классов и если модификатор перед классом внутри класса static, то такой класс называют вложенным, если другой модификатор или по умолчанию, то такой класс называется внутренним. О вложенных и внутренних классах будет отдельная статья, поскольку там не все так просто.
static модификатор перед методом или полем говорит о том, что они не принадлежат к экземпляру данного класса. Что это означает для нас? Когда мы описали поле класса или метод как static, его можно вызвать без использования экземпляра класса. То есть вместо такой конструкции: Cat cat = new Cat(); cat.method(), можно написать просто Cat.method(). При условии, что метод объявлен как static. Статические переменные едины для всех объектов класса. У них одна ссылка.
public class Modificators {
static int anotherStaticField = 5 ;
public static void myStaticMethod() {
someField = "My field" ;
//nonStaticField = ""; ошибка компиляции
//нельзя использовать нестатические поля
//в статических методах
public void myNonStaticMethod() {
anotherStaticField = 4 ; //ститические поля можно использовать
//в нестатических методах
//main метод тоже имеет модификатор static
new Modificators() .myNonStaticMethod () ;
Modificators.myStaticMethod () ; //вызов статических методов и полей
//через имяКласса.метод
Еще одно важное замечание, которое нужно сказать по поводу static модификаторов: статические поля инициализируются во время загрузки класса. Часто в разного рода тестах по Java можно встретить такой код:
Вопрос: что будет выведено на консоль? Нужно помнить, что static блок будет выведен первым при любом раскладе. Далее будет идти блок по умолчанию. Далее смотрите на скрин консоли:
Следующий модификатор, который мы рассмотрим будет final.
Думаю, слово final говорит само за себя. Применяя final модификатор Вы говорите, что поля не могут быть изменены, методы переопределены, а классы нельзя наследовать (о наследовании будет отдельная статья). Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным).
С модификатором final к методам и классам мы будем говорить в статье ООП.
Далее пойдут модификаторы, которые новичкам или читающим данный цикл статей с нуля будут не очень понятными. И хотя я пока не смогу Вам все объяснить (в силу того, что Вы не знаете сопутствующего материала), все же советую просто ознакомиться с ними. Когда придет время использования данных модификаторов, Вы уже будете понимать большинство терминов используемых ниже.
Модификатор synchronized — говорит о том, что метод может быть использован только одним потоком одновременно. Хотя, возможно, это Вам ни о чем не говорит, полезность этого модификатора будет видно, когда мы будем изучать многопоточность.
Модификатор transient — говорит о том, что во время сериализации объекта некоторое поле нужно игнорировать. Как правило, такие поля хранят промежуточные значения.
Модификатор volatile — используется при многопоточности. Когда поле с модификатором volatile будет использоваться и изменяться несколькими потоками, данный модификатор гарантирует, что поле будет изменяться по очереди и путаницы с ним не возникнет.
Модификатор native перед объявлением метода указывает что метод написан на другом языке программирования. Обычно на языке C.
Модификатор strictfp — Обеспечивает выполнение операций над числами типа float и double (с плавающей запятой) по стандарту IEEE 754. Или говоря проще, гарантирует что в пределах метода результаты вычислений будут одинаковыми на всех платформах.
Я еще не говорил о модификаторе abstract . О нем скажу вкратце, так как без знаний основ объектно ориентированного программирования говорить о нем не вижу смысла.
Класс, который имеет модификатор abstract не может создать экземпляр. Единственная цель для него быть расширенным. Класс abstract может содержать как абстрактные методы, а также и обычные.
Подробнее о модификаторе abstract будем говорить в статье ООП.
На этом можно и закончить статью о модификаторах. Многое о них не было сказано. Но это из-за того, что у нас еще нет понятий ООП. Через несколько статей, мы дополним знания о модификаторах и заполним пробелы.